Travis CI: Travis側(Ubuntu)でテストが行われる
Jenkins: テスト環境の構築が必要
### TravisCIの機能
– 自動でソースコードをcheckoutして、予め指定しておいたビルドやテスト処理を実行
– テスト結果をTravis CIのサイト上や各種API、メールで開発者に通知
– テストが問題なければ、予め指定しておいたホスティングサービスにデプロイする
– ビルドやテスト処理は「.travis.yml」に記述する
### 前準備(ローカル環境)
– Vagrant Amazon Linux 2
– Laravel 7.3.0, MySQL 8.0.18
### TravisCI側の操作
– Approve & Install Travis CI
— Only select repositories: publicを選択
— approve & install
### .travis.yml作成
– Laravelのルートディレクトリに.travis.ymlを作成
language: php php: - 7.3 before_script: - composer self-update - composer install - chmod -R 777 storage - php artisan key:generate script: - ./vendor/bin/phpunit notifications: emails: - hoge@gmail.com
1) Tests\Feature\ExampleTest::testBasicTest RuntimeException: No application encryption key has been specified.
APP_KEYが必要のようなので、before_scriptでAPP_KEYを読み込むようにします。
.env.travis
APP_ENV=testing APP_KEY=base64:*****
before_script: - cp .env.travis .env - composer self-update - composer install - chmod -R 777 storage
0.23s$ ./vendor/bin/phpunit
PHPUnit 8.5.2 by Sebastian Bergmann and contributors.
.. 2 / 2 (100%)
Time: 165 ms, Memory: 20.00 MB
OK (2 tests, 2 assertions)
The command “./vendor/bin/phpunit” exited with 0.
割とすぐ上手くいきました。仕組みとしては、CircleCIと似ていますが、Dockerじゃないとこが異なりますね。