默认情况下我想要的是我的分支构建,然后等待批准部署到dev。但是,如果我推送到dev分支,那么应该在未经批准的情况下进行部署。
我有以下工作流程:
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
。
有解决方法吗?
答案 0 :(得分:0)
我已经找到了一种方法来做到这一点,但它非常冗长,基本上你在那时复制了工作流,只有一个副本用于该分支,一个副本忽略了那个分支,如下所示:
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
)来定义任务意味着您不必重写作业,只需使用两个不同的名称指定它两次。