使用入口和审批来控制部署
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
通过在发布管道中使用手动部署审批、入口和手动干预的组合,可以快速轻松地配置部署,以满足工作流的所有特定部署前要求。
本教程的内容:
- 预先部署入口
- 手动干预
- 手动验证
- 部署日志
先决条件
完成定义多阶段发布管道教程。
工作项查询。 在 Azure Boards 中创建工作项查询(如果还没有)。
设置入口
可使用门来确保发布管道在部署前满足特定条件,而无需用户干预。
选择“管道”>“发布”,然后选择发布管道。 选择“编辑”以打开管道编辑器。
选择阶段的预部署图标,然后选择切换按钮以启用“入口”。
指定计算所添加入口之前的延迟时间。 在这段延迟时间内,入口函数可以在结果返回之前初始化和稳定。
选择“添加”,然后选择“查询工作项”。
从下拉菜单中选择现有工作项查询。 根据希望查询返回的工作项数,设置最大和最小阈值。
选择“计算选项”部分,然后指定超时和采样间隔。 可以指定的最小值是 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 阶段部署成功,并且针对生产阶段触发部署前审批。
选择“批准”,输入注释,然后选择“批准”以继续部署。
实时状态表示在发布继续之前,正在为生产阶段处理入口。
返回到发布管道,将鼠标悬停在阶段上,然后选择“日志”以查看部署日志。