Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
通过使用手动部署审批、入口和手动干预发布管道的组合,可以快速轻松地配置部署以满足工作流的所有特定预部署要求。
在本教程中,你将了解:
- 部署前入口
- 手动干预
- 手动验证
- 部署日志
先决条件
完成 “定义多阶段发布管道” 教程。
工作项查询。 如果还没有工作项查询,请在 Azure Boards 中创建工作项查询。
设置门
可以使用入口来确保发布管道在部署之前满足特定条件,而无需用户干预。
选择 “管道>发布”,然后选择发布管道。 选择 “编辑” 以打开管道编辑器。
选择阶段的预部署图标,然后选择切换按钮以启用 Gates。
指定计算添加门之前的延迟时间。 这一次是允许门函数在返回结果之前初始化和稳定。
选择 “添加”,然后选择“ 查询工作项”。
从下拉菜单中选择现有的工作项查询。 根据预期查询返回的工作项数,设置最大阈值和最小阈值。
选择“ 评估选项 ”部分,然后指定超时和采样间隔。 可以指定的最小值为 6 分钟超时和 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'
查看部署日志
部署日志可用于调试部署问题,但也可以使用它们来审核管道运行,并验证审批以及审批方式以及授予者的方式。
选择 “管道>发布”,然后选择发布管道。
此视图将显示管道中每个阶段的实时状态。 此示例中的 QA 阶段正在等待干预。 选择 “恢复”。
输入批注,然后选择“ 恢复”。
QA 阶段部署成功,并触发生产阶段的预部署审批。
选择 “批准”,输入批注,然后选择“ 批准 ”以继续部署。
实时状态指示在发布继续之前,正在为 生产 阶段处理入口。
返回到发布管道,将鼠标悬停在阶段上,然后选择“ 日志 ”以查看部署日志。