忽略某个分支的审批步骤 CCI 2.0
Ignore an approval step for a certain branch CCI 2.0
默认情况下我想要的是我的分支构建,然后等待批准部署到开发。但是,如果我推送到开发分支,那应该未经批准就部署。
我有以下工作流程:
workflows:
version: 2
build:
jobs:
- build
- approve-dev:
type: approval
requires:
- build
filters:
branches:
ignore: dev
- deploy-dev:
requires:
- approve-dev
问题是当 approve-dev
作业被跳过时,deploy-dev
作业失去了它的要求,所以唯一可能的步骤是 build
。
有办法解决这个问题吗?
我已经找到了一种方法来做到这一点,但它非常冗长,基本上你复制了那个时候的工作流程,一个副本只用于那个分支,一个副本忽略那个分支,就像这样:
workflows:
version: 2
build:
jobs:
- build
- approve-dev:
type: approval
requires:
- build
filters:
branches:
ignore: dev
- deploy-dev:
requires:
- approve-dev
- deploy-dev-auto:
requires:
- build
filters:
branches:
only: dev
使用模板 (<<deploy-dev-defaults: &deploy-dev-defaults
) 定义任务意味着您不必重写作业,只需使用两个不同的名称指定两次即可。
默认情况下我想要的是我的分支构建,然后等待批准部署到开发。但是,如果我推送到开发分支,那应该未经批准就部署。
我有以下工作流程:
workflows:
version: 2
build:
jobs:
- build
- approve-dev:
type: approval
requires:
- build
filters:
branches:
ignore: dev
- deploy-dev:
requires:
- approve-dev
问题是当 approve-dev
作业被跳过时,deploy-dev
作业失去了它的要求,所以唯一可能的步骤是 build
。
有办法解决这个问题吗?
我已经找到了一种方法来做到这一点,但它非常冗长,基本上你复制了那个时候的工作流程,一个副本只用于那个分支,一个副本忽略那个分支,就像这样:
workflows:
version: 2
build:
jobs:
- build
- approve-dev:
type: approval
requires:
- build
filters:
branches:
ignore: dev
- deploy-dev:
requires:
- approve-dev
- deploy-dev-auto:
requires:
- build
filters:
branches:
only: dev
使用模板 (<<deploy-dev-defaults: &deploy-dev-defaults
) 定义任务意味着您不必重写作业,只需使用两个不同的名称指定两次即可。