概要
そろそろ案件が落ち着いてきて、テストを書き始めたのでCIを導入しようと思ったのと、会社の同僚さんがWercker良いよって話をしてたので使ってみました。
環境について
私の案件はPhalconというPHPのフレームワークを利用しています。
また、gitについてはBitbucketを利用しています。
導入するまで
導入するまでについてです。
- wercker.comでアカウントを作成
- githubアカウントかメールアドレスの登録
- githubかbitbucketを選択画面がでるので、bitbucketを選択
- リポジトリを選択
実際に利用してみる
テスト用にブランチを作成し、以下のようなwercker.ymlを作成してpushします。
wercker.yml
box: duythien/phalcon@1.2.6
build:
steps:
- script:
name: install dependencies
code: composer install
- script:
name: PHPUnit integration tests
code: phpunit --tap -c tests/phpunit.xml
after-steps:
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL
team: <YOUR_TEAM>
channel: <YOUR_CHANNEL>
- boxについてはphalconを利用したいので、duythien/phalconを使うようにしました。
- いくつかcomposerに依存しているものがあるので、
composer install
するようにしました。 - PHPUnitはtests配下にファイルを置いているので、tests/phpunit.xmlを指定しました。
- 終了後はSlackに通知したかったので、wantedly/pretty-slack-notifyを使いました。
- $SLACK_WEBHOOK_URLについては、werckerの設定画面から設定することが出来ます。
使ってみた感想
- あまりにもphalcon向けの資料がないので、何度も何度もpushしてfailedを出しまくった。
- phalconではなく通常のフレームワークであればそこまでハマらなかったような気がします。
- テストが通ると気持ちが良いものですね。
- デプロイの方についてはまだ試してないので、デプロイについても試してみたいです。