Posted at

PHPフレームワークphalconのテストをWerckerで自動化してみる

More than 3 years have passed since last update.


概要

そろそろ案件が落ち着いてきて、テストを書き始めたので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ではなく通常のフレームワークであればそこまでハマらなかったような気がします。

  • テストが通ると気持ちが良いものですね。

  • デプロイの方についてはまだ試してないので、デプロイについても試してみたいです。


参考にしたサイト