使用入口和审批来控制部署

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

通过使用手动部署审批、入口和手动干预发布管道的组合,可以快速轻松地配置部署以满足工作流的所有特定预部署要求。

在本教程中,你将了解:

  • 部署前入口
  • 手动干预
  • 手动验证
  • 部署日志

先决条件

设置门

可以使用入口来确保发布管道在部署之前满足特定条件,而无需用户干预。

  1. 选择 “管道>发布”,然后选择发布管道。 选择 “编辑” 以打开管道编辑器。

    显示发布管道的编辑按钮的屏幕截图。

  2. 选择阶段的预部署图标,然后选择切换按钮以启用 Gates

    显示如何启用入口的屏幕截图。

  3. 指定计算添加门之前的延迟时间。 这一次是允许门函数在返回结果之前初始化和稳定。

    显示如何设置部署前入口延迟时间的屏幕截图。

  4. 选择 “添加”,然后选择“ 查询工作项”。

    显示如何添加查询工作项任务的屏幕截图。

  5. 从下拉菜单中选择现有的工作项查询。 根据预期查询返回的工作项数,设置最大阈值和最小阈值。

    显示如何配置查询工作项任务的屏幕截图。

  6. 选择“ 评估选项 ”部分,然后指定超时和采样间隔。 可以指定的最小值为 6 分钟超时和 5 分钟采样间隔。

    显示如何为查询工作项任务配置评估选项的屏幕截图。

  7. 完成时选择“保存”。

    显示如何保存发布管道的屏幕截图。

设置手动干预

根据方案,有时可能需要向发布管道添加手动干预。 为此,可以将 手动干预 任务添加到管道。

  1. 选择 “管道>发布”。 选择发布管道,然后选择 “任务 ”并选择阶段。

    显示如何导航到发布管道中的暂存任务的屏幕截图。

  2. 选择省略号(...),然后选择 “添加无代理作业”。

    显示如何添加无代理作业的屏幕截图。

  3. 将无代理作业拖放到部署过程的顶部。 选择 (+) 符号,然后选择“ 添加 手动干预”任务。

    显示如何添加手动干预任务的屏幕截图。

  4. 输入 显示名称和 触发任务时将显示的说明。 还可以指定要通知的用户列表以及超时作(拒绝或恢复),如果未在超时期限内发生干预。

    显示如何配置手动干预任务的屏幕截图。

  5. 完成时选择“保存”。

注释

手动干预任务只能在无代理作业中使用。

设置手动验证

可以使用 YAML 管道中的 手动验证 任务暂停并等待手动审批。 在开始计算密集型作业之前,需要验证配置设置或生成包的情况,手动验证尤其有用。

作业 waitForValidation 会暂停运行,并触发 UI 提示来查看和验证任务。 中列出的 notifyUsers 电子邮件地址会收到批准或拒绝管道运行通知。

显示手动验证提示的屏幕截图。

pool: 
   vmImage: ubuntu-latest

jobs:
- job: waitForValidation
  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: |
            someone@example.com
         instructions: 'Please validate the build configuration and resume'
         onTimeout: 'resume'

查看部署日志

部署日志可用于调试部署问题,但也可以使用它们来审核管道运行,并验证审批以及审批方式以及授予者的方式。

  1. 选择 “管道>发布”,然后选择发布管道。

    显示发布定义的列表的屏幕截图。

  2. 此视图将显示管道中每个阶段的实时状态。 此示例中的 QA 阶段正在等待干预。 选择 “恢复”。

    显示 QA 阶段待干预的屏幕截图。

  3. 输入批注,然后选择“ 恢复”。

    显示如何响应挂起的手动干预请求的屏幕截图。

  4. QA 阶段部署成功,并触发生产阶段的预部署审批。

    显示下一阶段触发的预部署审批的屏幕截图。

  5. 选择 “批准”,输入批注,然后选择“ 批准 ”以继续部署。

    显示如何响应挂起的审批请求的屏幕截图。

  6. 实时状态指示在发布继续之前,正在为 生产 阶段处理入口。

    显示生产处理入口的屏幕截图。

  7. 返回到发布管道,将鼠标悬停在阶段上,然后选择“ 日志 ”以查看部署日志。

    显示如何访问部署日志的屏幕截图。