我有一个circle.yml
文件,看起来像这样:
general:
branches:
only:
- master
- develop
- /release-[0-9]+(\.[0-9]+)*/
test:
pre:
- docker-compose run $SERVICE npm install
override:
- docker-compose run $SERVICE npm test
post:
- docker-compose run SPECIFIC_COMMAND // this should only trigger for branches that fall under /release-[0-9]+(\.[0-9]+)*/
- docker-compose stop
合并到master
,develop
或/release-[0-9]+(\.[0-9]+)*/
时会运行单元测试。
但是,在测试后的钩子中有一个特定的命令,我将仅在合并到/release-[0-9]+(\.[0-9]+)*/
时触发。此命令必须在最后一个docker-compose stop
之前运行,这就是我没有使用deployment块的原因。
答案 0 :(得分:0)
事实证明test
块中的这种情况不太可能(与branches
或deployment
块不同)。
解决此问题的最佳方法是将条件逻辑放在访问$CIRCLE_BRANCH
environment variable的shell脚本中。反过来,shell脚本会一直被触发。