繁体   English   中英

如何在多级 YAML 管道中添加部署后批准?

[英]How to add Post deployment approvals in multistage YAML pipeline?

我有一个多级 YAML 管道,具有三个 QA 阶段 QA1、QA2、QA3。 我必须将部署后批准添加到 QA3,即一旦 QA3 成功完成,它必须等待我的批准才能触发阶段 PROD 部署。 如何做到这一点?

根据您的要求,您可以尝试在 YAML 示例中使用环境

以下是步骤:

Step1:在Pipelines -> Environments中创建 Environment 并添加Approvals and checks

在此处输入图像描述

第二步:在 YAML 管道中添加环境。

stages:
- stage: QA1
  jobs:
  - job: QA1
    steps:
      - script: echo 1

- stage: QA2
  jobs:
  - job: QA2
    steps:
      - script: echo 1

- stage: QA3
  jobs:
  - job: QA3
    steps:
      - script: echo 1

- stage: deploy
  jobs:
  - deployment: DeployWeb
    displayName: deploy Web App
    pool:
      vmImage: 'Ubuntu-latest'
    environment: 'Test'
    strategy:
      runOnce:
        deploy:
          steps:
          - script: echo Hello world

结果:

在此处输入图像描述

没有部署后批准。 您可以做的是ManualValidation

- stage: CI
  jobs:
  - job: CI
    steps:
    - script: echo 'From CI'

- stage: UAT
  jobs:
  - job: UAT
    steps:
    - script: echo 'From UAT'
  
  - job: UATWaitForValidation
    displayName: Wait for external validation  
    pool: Server
    timeoutInMinutes: 4320 # job times out in 3 days
    steps:
    - task: ManualValidation@0
      timeoutInMinutes: 1440 # task times out in 1 day
      inputs:
        notifyUsers: $(users)
        instructions: 'Please validate the build configuration and resume'
        onTimeout: 'resume'

- stage: PROD
  jobs:
  - job: PROD
    steps:
    - script: echo 'From PROD'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM