CircleCI:构建测试部署过程的部分或阶段可以是有条件的

时间:2017-03-10 01:58:08

标签: circleci

我目前有一个带有构建,测试和部署部分的circle.yml。我想参数化构建以运行夜间自动化,类似于此链接https://circleci.com/docs/1.0/nightly-builds/

当运行夜间自动化时,我想避免一起运行部署部分。这可能吗?

1 个答案:

答案 0 :(得分:0)

要回答标题中的问题,不,至少还没有。但是,在这个阶段,你可以得到你想要的结果。

运行夜间构建时,我认为这意味着您正在使用CircleCI API,请确保传递某种环境变量。像BUILD_TYPE=nightly这样的东西可行。

然后,在该分支的部署部分(我假设master在这里?),使用Bash检查变量是否存在/设置为您期望的值。如果是这样,什么也不做。如果没有,请运行部署命令。

一个例子:

deployment:
  production:
    branch: master
    commands:
      - |
        if [[ $BUILD_TYPE == "nightly" ]]; then
          echo "Skipping deployment"
        else
          rsync -va --delete /myapp/ user@myserver.net:/myapp
        fi