我的Github上有当前的travis.yml
:
# see http://about.travis-ci.org/docs/user/languages/php/ for more hints
language: php
# list any PHP version you want to test against
php:
# aliased to a recent 5.4.x version
- 5.4
# aliased to a recent 5.5.x version
- 5.5
我的所有工作都在失败,但是在构建简约的情况下,我无法理解为什么会失败...因为Travis并没有完全掌握最好的信息..这是我日志的最后几块:
工作9.1:
$ git clone --depth=50 --branch=master git://github.com/SlayerSolutions/Authentication.git SlayerSolutions/Authentication
Cloning into 'SlayerSolutions/Authentication'...
remote: Counting objects: 128, done.
remote: Compressing objects: 100% (104/104), done.
remote: Total 128 (delta 55), reused 83 (delta 15)
Receiving objects: 100% (128/128), 19.17 KiB | 0 bytes/s, done.
Resolving deltas: 100% (55/55), done.
$ cd SlayerSolutions/Authentication
git.2
$ git checkout -qf 1df78d018dbe8a81e66490e90012229adcff7af8
$ phpenv global 5.4
$ php --version
PHP 5.4.16 (cli) (built: Jun 28 2013 11:14:20)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans
$ composer --version
Warning: This development build of composer is over 30 days old. It is recommended to update it by running "/home/travis/.phpenv/versions/5.4.16/bin/composer.phar self-update" to get the latest version.
Composer version 7755564962718189d5d7d9fdee595283c8f032b7
$ phpunit
PHPUnit 3.7.21 by Sebastian Bergmann.
Usage: phpunit [switches] UnitTest [UnitTest.php]
phpunit [switches] <directory>
--log-junit <file> Log test execution in JUnit XML format to file.
...Bla,bla,bla
The command "phpunit" exited with 2.
Done. Your build exited with 1.
和Job 9.2:
相同并以:
结束The command "phpunit" exited with 2.
Done. Your build exited with 1.
那么,这里出了什么问题?
答案 0 :(得分:14)
使用Travis运行的脚本的任何非零退出代码都被视为失败。
您的简约.travis.yml
未指定构建脚本,因此运行PHP的默认构建脚本,即phpunit
(see also the documentation)。
由于您的存储库中没有phpunit.xml,因此基本上没有任何东西可以运行Travis。这导致构建失败。
这实际上取决于你想用Travis做什么,但要么根据默认配置存储库,要么在运行构建时定义要执行的脚本,如下所示:
language: php
php:
- 5.4
- 5.5
script: ./build.sh
然后,您可以在运行构建时在build.sh
中指定要执行的任何内容。
您可能需要确保./build.sh
是可执行的,您可以使用
before_install:
- chmod +x build.sh
您还可以制作脚本bash build.sh
或sh build.sh
。