一人もくもく会 α verでサービス開始しました。
請求書作成システム α verでサービス開始しました。

CakePHP3プロジェクトをwerckerで無料CI

werckerにて、CakePHP3プロジェクトの無料CI設定をしたログ。

良いDockerイメージがなくwercker-laravel5を参考に作成したので、 基本的には下記に書いてあることそのままで設定可能。

https://hub.docker.com/r/dala00/wercker-cakephp3/

DBのホスト名とポートが環境変数で渡されるのでapp.phpのDBのtest設定を下記のように変更。

'host' => env('MYSQL_PORT_3306_TCP_ADDR', 'localhost'),
'port' => env('MYSQL_PORT_3306_TCP_PORT', 3306),

そしてwerkcer.yml

box: dala00/wercker-cakephp3
services:
  - id: mysql
    env:
      MYSQL_ROOT_PASSWORD: rootpasswd
      MYSQL_USER: testuser
      MYSQL_PASSWORD: testpasswd
      MYSQL_DATABASE: testdb

build:
  steps:
    - script:
        name: Install dependencies
        code: |
          composer install

    - script:
        name: Run phpunit
        code: |-
          vendor/bin/phpunit

MySQLは設定がデフォルトなので、not nullカラムを無指定で保存しようとするとエラーになる。 ローカルで設定を変えていたりするとそのへんでテストの差異が出るので、 ローカルも設定を合わせたりコンテナを使って開発したりなどの注意が必要。

カバレッジが必要な場合はこちら

alphabrend.hatenablog.com