Azure DevOps YAML流水线同一作业内手动验证步骤编写咨询
在Azure DevOps YAML流水线同一作业中添加手动验证步骤的正确方式
手动验证步骤并非普通的task类型,不能嵌套在- task节点下,必须作为独立步骤与其他task同级定义,这就是你之前报错的核心原因。
以下是正确的YAML示例,展示在同一个作业中插入手动验证步骤的完整写法:
jobs: - job: BuildAndDeploy displayName: '构建并部署' steps: # 前置构建任务 - task: DotNetCoreCLI@2 displayName: '构建项目' inputs: command: 'build' projects: '**/*.csproj' # 手动验证步骤(独立于task的顶级步骤) - task: ManualValidation@0 displayName: '确认构建结果合规' inputs: notifyUsers: | dev-team@example.com qa-lead@example.com instructions: '请检查构建日志、产物完整性,确认无误后点击「批准」继续流水线' timeoutInMinutes: 60 # 超时未批准则流水线失败 # 验证通过后执行的部署任务 - task: AzureRmWebAppDeployment@4 displayName: '部署至Azure Web App' inputs: ConnectionType: 'AzureRM' azureSubscription: '你的Azure订阅名称' appType: 'webApp' WebAppName: '目标WebApp名称' packageForLinux: '$(Build.ArtifactStagingDirectory)/**/*.zip'
关键注意点:
ManualValidation@0是官方内置的手动验证任务,必须作为顶级步骤存在,不能嵌套在任何- task节点内部notifyUsers支持多用户邮箱,用换行分隔指定需要通知的审核人instructions可自定义审核提示,明确告知审核者需要检查的内容timeoutInMinutes用于设置超时时间,避免流水线无限等待人工审核
内容的提问来源于stack exchange,提问作者Chava Venkat
相关产品推荐
相关产品推荐

