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

问题描述:

我目前有一个包含构建,测试和部署部分的circle.yml。我想参数化构建运行类似于此链接的夜间自动化https://circleci.com/docs/1.0/nightly-builds/CircleCI:构建测试部署过程的部分或阶段是否可以有条件

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

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

运行每晚构建时,我假设您使用的是CircleCI API,请确保传递某种环境变量。像BUILD_TYPE=nightly就可以工作。

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

一个例子:

 
deployment: 
    production: 
    branch: master 
    commands: 
     - | 
     if [[ $BUILD_TYPE == "nightly" ]]; then 
      echo "Skipping deployment" 
     else 
      rsync -va --delete /myapp/ [email protected]:/myapp 
     fi