Travis CIに入門してPHPプロジェクトのCI / 継続的デリバリ環境を整える

Travis CIに入門してPHPプロジェクトのCI / 継続的デリバリ環境を整える

前の記事でEC-CUBEのミラーをgithubに作成したのでこれを使ってTravis CIに入門してみます

Travis CIはオープンソースコミュニティのための継続的インテグレーションを無償で提供しているサイト
設定さえしておけばgithubにpushする度にUnitテストの実行など、指定した手順通りに実行してくれます

githubとTravis CIの連携

travis-ci.orgへ行ってgithubでSign Up
連携したいリポジトリを選んでください

.travis.yml を用意する

PHPのプロジェクトの場合大まかな内容はこうなります

phpunit –configuration tests/phpunit.xml tests
この行をローカルでユニットテストしているコマンドにすれば問題なく動くはずです

DBを使ったテストをする場合

mysqlとpostgres用に必要データベースを作成してテーブルを作るサンプルはこうなります

ファイルを作成する必要が有る場合

echoやcp、mkdirなども普通に使えます

その他

composerやpearのインストールなんかも出来ます
詳しくはここを見ると書いてあります

Travis CI: Building a PHP project

githubにpushする

pushすると自動的に.travis.ymlに指定したとおりにTravis CIが実行してくれます

Travis CI - Free Hosted Continuous Integration Platform for the Open Source Community
https://travis-ci.org/nobuhiko/EC-CUBE/jobs/6815512

コードカバレージを表示する

これだと黒い画面しか表示されないのでCoveralls – Code Coverage History and Statisticsを利用してコードカバレージを表示してみます
PHPのプロジェクト用にsatooshi/php-coveralls · GitHubがあるのでありがたく使わせて頂きます

composer.jsonを用意する

.coveralls.ymlを用意する

src_dirにどこを設定すればいいのかよくわからないのですが、テストしているソースがあるrootを指定すればいいのかな??

.travis.ymlに追記する

・composerを使ってインストール
・logディレクトリの作成
・phpunitでcoverage-clover
・coverallsの実行

coverallsとgithubを連携する

あとはCoveralls – Code Coverage History and Statisticsでsigh upをして、リポジトリを指定するだけ

githubにpushする

ここまでの変更をpushしてください

Coveralls - Code Coverage History and Statistics
sqb/EC-CUBE | Build #4 | Coveralls – Code Coverage History and Statistics

ここまで完全に無料で出来ました(´∀`)
Jenkinsでは更に色々なことが出来ますが、自分でサーバーを用意しなくてもここまで出来るというのは素晴らしいですね

コメントを残す