とりあえずgithubのOAuthでログインして雰囲気をみて終了。
で、その後ちょっとだけコードかいたりしていたら、gmailにメールがいっぱい!!!
どうやらいつのまにか、自分のリポジトリをCI対象にしていたようだ。
ということで、せっかくなのでStill Failingを解決してずっと使えるようにしようと思います。
まず調査。
1Using worker: ruby2.worker.travis-ci.org:travis-ruby-63$ cd ~/builds4$ git clone --depth=100 --quiet git://github.com/e2kaneko/SocialLoginExamples.git e2kaneko/SocialLoginExamples5$ cd e2kaneko/SocialLoginExamples6$ git checkout -qf 4bea04f3da2290593d511804e3274821429835c17$ export TRAVIS_RUBY_VERSION=default8$ rvm use default9Using /home/vagrant/.rvm/gems/ruby-1.8.7-p35710$ ruby --version11ruby 1.8.7 (2011-12-28 patchlevel 357) [i686-linux]12$ gem --version131.8.1514$ rake15rake aborted!
Rubyでテストしようとしてる(笑)
.travis.ymlをリポジトリルートにおいてPHPを指定しないといけないらしい。 ということで、追加。
.travis.yml
language: php
php:
- 5.3
- 5.4
php:
- 5.3
- 5.4
Using worker: php1.worker.travis-ci.org:travis-php-13$ cd ~/builds4$ git clone --depth=100 --quiet git://github.com/e2kaneko/SocialLoginExamples.git e2kaneko/SocialLoginExamples5$ cd e2kaneko/SocialLoginExamples6$ git checkout -qf 479e254740fa4be905cfbc392eb640aa27044dfa7$ phpenv global 5.38$ php --version9PHP 5.3.9 (cli) (built: Jan 22 2012 13:00:07)10Copyright (c) 1997-2012 The PHP Group11Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies12 with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans13$ phpunit14PHPUnit 3.6.8 by Sebastian Bergmann.16Usage: phpunit [switches] UnitTest [UnitTest.php]17 phpunit [switches] <directory>
できた。
CakePHPの場合、通常はphpunitコマンドじゃなくてcakeコマンドでテスト実行するので、スクリプトを.travis.ymlに追加してみる。
.travis.yml
language: php
php:
- 5.3
- 5.4
script:
- ./lib/Cake/Console/cake testsuite app AllTests --stderr
php:
- 5.3
- 5.4
script:
- ./lib/Cake/Console/cake testsuite app AllTests --stderr
19$ ./lib/Cake/Console/cake testsuite core AllTests --stderr20-bash: ./lib/Cake/Console/cake: Permission denied
パーミッションあるのか。
.travis.yml
language: php
php:
- 5.3
- 5.4
before_script:
- chmod -R 777 ./lib/Cake/Console/cake
script:
- ./lib/Cake/Console/cake testsuite app AllTests --stderr
php:
- 5.3
- 5.4
before_script:
- chmod -R 777 ./lib/Cake/Console/cake
script:
- ./lib/Cake/Console/cake testsuite app AllTests --stderr
19Welcome to CakePHP v2.0.4 Console20---------------------------------------------------------------21App : app22Path: /home/vagrant/builds/e2kaneko/SocialLoginExamples/app/23---------------------------------------------------------------24CakePHP Test Shell25---------------------------------------------------------------26Error: Database connection "SQLSTATE[42000] [1049] Unknown database 'test'" is missing, or could not be created.27#0
テスト用データベースに接続できなかった。
作る。
.travis.yml
language: php
php:
- 5.3
- 5.4
env:
- DB=mysql
before_script:
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE test;'; fi"
- chmod -R 777 ./lib/Cake/Console/cake
script:
- ./lib/Cake/Console/cake testsuite app AllTests --stderr
php:
- 5.3
- 5.4
env:
- DB=mysql
before_script:
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE test;'; fi"
- chmod -R 777 ./lib/Cake/Console/cake
script:
- ./lib/Cake/Console/cake testsuite app AllTests --stderr
13$ phpunit14PHP Notice: Undefined offset: 0 in /home/vagrant/.phpenv/versions/5.3.9/share/pyrus/.pear/php/PHPUnit/Util/Configuration.php on line 86015PHP Stack trace:
そういえば、コンフィグファイルなかった。
.travis.yml
language: php
php:
- 5.3
- 5.4
env:
- DB=mysql
before_script:
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE test;'; fi"
- chmod -R 777 ./lib/Cake/Console/cake
- cp ./app/Config/const.php.default ./app/Config/const.php
script:
- ./lib/Cake/Console/cake testsuite app AllTests --stderr
php:
- 5.3
- 5.4
env:
- DB=mysql
before_script:
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE test;'; fi"
- chmod -R 777 ./lib/Cake/Console/cake
- cp ./app/Config/const.php.default ./app/Config/const.php
script:
- ./lib/Cake/Console/cake testsuite app AllTests --stderr
グリーン!!やったね!
SCMもCIもクラウドの時代ですよ、というわけで、おやすみなさい。
かねこ(^ν^)