CircleCI:仅在某些分支上触发测试后挂钩

时间:2017-02-07 19:41:38

标签: geometry circleci

我有一个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

合并到masterdevelop/release-[0-9]+(\.[0-9]+)*/时会运行单元测试。

但是,在测试后的钩子中有一个特定的命令,我将在合并到/release-[0-9]+(\.[0-9]+)*/时触发。此命令必须在最后一个docker-compose stop之前运行,这就是我没有使用deployment块的原因。

1 个答案:

答案 0 :(得分:0)

事实证明test块中的这种情况不太可能(与branchesdeployment块不同)。

解决此问题的最佳方法是将条件逻辑放在访问$CIRCLE_BRANCH environment variable的shell脚本中。反过来,shell脚本会一直被触发。