cfb*_*fbd 18 azure-devops azure-pipelines
如何将手动干预步骤添加到多阶段 Azure Devops YAML 管道中?
在詹金斯你可以做一些事情:
stage ('approve-prod') {
steps {
input "Approve deployment to production?"
}
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找 Azure Devops YAML 中的等效项。
注意:这是针对新发布的多阶段 Azure Devops 管道,而不是旧式发布管道。相关公告在这里https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/
小智 10
微软现在提供了一个全新的官方手动验证任务,允许将手动干预添加到 YAML 管道中。
如何使用此任务的快速示例如下:
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: |
test@test.com
example@example.com
instructions: 'Please validate the build configuration and resume'
onTimeout: 'resume'
Run Code Online (Sandbox Code Playgroud)
需要注意的一些关键限制:
这似乎尚不可用,但有一个 GitHub 问题跟踪此:https : //github.com/MicrosoftDocs/vsts-docs/issues/4241
从问题:
所以我从产品团队那里听到的是,这个“每阶段批准”政策尚不可用,但在他们的待办事项中。
还有一个路线图工作项跟踪它:https : //dev.azure.com/mseng/AzureDevOpsRoadmap/_workitems/edit/1510336/
小智 6
Azure DevOps/Pipelines 现在有一个名为 Environments 的功能,它支持审批。 https://docs.microsoft.com/en-us/azure/devops/pipelines/process/environments?view=azure-devops#approvals
我们正在使用它们作为解决方法。基本上,我们在 Azure DevOps 中指定了两个环境 ApprovalNotRequired 和 ApprovalRequired。对于后者,我们指定了谁可以批准部署。然后在管道中,我们像这样引用环境。
- stage: 'Approval not required'
jobs:
- deployment: 'MyDeployment'
displayName: MyDeployment
environment: 'ApprovalNotRequired'
strategy:
runOnce:
deploy:
# whatever
- stage: 'Approval required'
jobs:
- deployment: 'MyDeployment2'
displayName: MyDeployment2
environment: 'ApprovalRequired'
strategy:
runOnce:
deploy:
# whatever
Run Code Online (Sandbox Code Playgroud)
第一阶段将不受干扰地运行,第二阶段将暂停,直到获得批准。
| 归档时间: |
|
| 查看次数: |
10817 次 |
| 最近记录: |