忽略某个分支机构CCI 2.0的批准步骤

问题描述 投票:1回答:1

默认情况下我想要的是我的分支构建,然后等待批准部署到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

有没有解决的办法?

circleci circleci-2.0
1个回答
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)来定义任务意味着您不必重写作业,只需使用两个不同的名称指定它两次。

© www.soinside.com 2019 - 2024. All rights reserved.