我成功创建了一个示例.travis.yml文件,构建通过。但是,这有点慢。主要原因是作曲家安装,最多需要40秒。
由于我在Travis CI的经验已经2天大,所以我需要有经验的人告诉我在Travis环境中使用composer install
的更好练习是什么?在什么块下,我应该称呼它,应该是命令本身?
注意:我使用Symfony项目,因此,如果此框架有特定的内容,请让我知道。
我阅读了一些博客文章,并在一些开源项目中浏览了示例文件,最终使自己感到困惑。有些在before_script:
和一些install:
等下使用。也有些使用composer install
,composer install --prefer-source --no-interaction --dev
,travis_retry composer install --ignore-platform-reqs --no-interaction --prefer-source
等。我的目的是加快构建时间。
- 作曲家和您的.travis.yml? 有什么问题
- Composer更新没有PHP环境检查
- php和与Travis CI 的连续集成
- 所以在 上
我自己的.travis.yml。
language: php
php:
- 5.6
env:
global:
- SOURCE_DIR=src
install:
- sudo apt-get update > /dev/null
- sudo apt-get install apache2 libapache2-mod-fastcgi > /dev/null
before_script:
- ...
- ...
- composer self-update
- composer install
- ...
- ...
script:
- bin/phpspec run --no-ansi --format=dot
- bin/behat --profile=default -f progress
- ...
- ...
没有一个正确的答案composer install
属于IMO。使用对您有意义的东西。我会把它放在 install
中。
如果由于网络问题而容易失败,将其前缀在travis_retry
上也是一个好主意。例如。它将重试同一命令默认号为3次。只有在所有重试尝试中,包装命令仍然没有 exit 0
,命令才被认为是故障。
为了加速您的构建,我不会为消除40多岁的构建时间而费力。也就是说,您可以查看缓存作曲家安装目录。这将在构建器完成后节省DIR的TARBALL,并尝试在下一个构建开始时从网络存储中获取它。这样,只需安装新的。但是,由于该档案存储在网络存储上,而不是在容器内部,因此可能不会给您任何实际的加速。缓存的文档