如何在Azure DevOps发布管道部署后审批/闸门中调用PowerShell脚本启动网站
Azure DevOps 发布流水线实现「部署-人工核验-审批过审后启动网站」的操作方案
核心实现逻辑
Azure DevOps 原生的部署后审批是绑定到阶段流转节点的,不能直接嵌在单个任务前面,因此只需要通过阶段拆分的方式,就能把审批节点精准卡在初始手动检查完成、启动网站脚本执行之前,完全匹配现有流程要求。
具体配置步骤
- 调整流水线的阶段拆分规则
- 将现有
Task 1: stop website、Task 2: deploy website全部归入第一阶段,命名为「代码部署阶段」 - 在第一阶段的最后一个任务位置,插入「手动验证」任务,对应需求里的"开展初始手动检查"环节,配置为操作人员检查完网站部署的基础状态(文件完整性、配置正确性等)后,手动点击确认放行
- 将原本的
Task 3: Start website using post-deployment approvals对应的启动逻辑,单独拆成第二阶段,命名为「网站启动阶段」
- 将现有
- 绑定部署后审批规则
- 打开「代码部署阶段」的阶段设置页,找到「部署后审批」配置项,添加指定的审批人名单
- 这个节点的触发时机是固定的:只有「代码部署阶段」内的所有任务(包括停站、部署包、初始手动核验)全部执行完成后,流水线才会暂停进入审批等待状态
- 只有当所有配置的审批人通过后,流水线才会自动向下流转,进入「网站启动阶段」
- 配置启动阶段的任务内容
- 在「网站启动阶段」内添加PowerShell脚本任务,直接关联代码仓库中存储的网站启动脚本路径,提前配置好脚本执行所需的服务连接、目标服务器权限、站点路径等参数
- 可给这个任务加个任务名称标注,明确是"审批通过后执行网站启动"
最终执行时序验证
- 流水线触发后自动执行停网站、部署最新代码包的操作
- 部署完成后弹出初始手动检查入口,操作人员核对部署结果没问题后点击确认
- 流水线自动暂停,进入部署后审批环节,等待指定审批人审核
- 审批通过后,自动调用仓库内的PowerShell脚本启动网站,完成全流程部署
常见配置注意点
- 不要把部署后审批绑定在「网站启动阶段」的前置规则里,这样会导致审批时机在初始手动检查之前,不符合流程顺序
- 如果是多环境滚动发布,可按照环境维度分别配置对应阶段的审批人,避免跨环境的权限混乱
- 手动检查环节可按需设置是否强制填写检查备注,不需要留痕的场景下可关闭备注要求,加快流程流转速度
内容的提问来源于stack exchange,提问作者Jim Lobo
相关产品推荐
相关产品推荐

