Azure devops Azure DevOps YAML管道批准使用多阶段

Azure devops Azure DevOps YAML管道批准使用多阶段,azure-devops,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines Release Pipeline,我最近尝试将我们的UI或基于经典的发布管道转换为基于YAML的发布管道 我们有三个环境,最初一个CD构建将很高兴地部署到我们的开发环境中 从那时起,我们手动触发一个版本(re:promotion)进行测试,然后在某个时候,如果我们都满意的话,手动升级到生产环境 我们知道我们不能在发布阶段之间模拟手动升级,因为它目前不受支持,但从我所读到的内容来看,我们应该能够通过为请求手动升级的每个环境定义一个安全检查来做同样的事情 定义安全检查的详细信息如下: 此后,我在测试和生产中都添加了相同的安全检查,但

我最近尝试将我们的UI或基于经典的发布管道转换为基于YAML的发布管道

我们有三个环境,最初一个CD构建将很高兴地部署到我们的开发环境中

从那时起,我们手动触发一个版本(re:promotion)进行测试,然后在某个时候,如果我们都满意的话,手动升级到生产环境

我们知道我们不能在发布阶段之间模拟手动升级,因为它目前不受支持,但从我所读到的内容来看,我们应该能够通过为请求手动升级的每个环境定义一个安全检查来做同样的事情

定义安全检查的详细信息如下:

此后,我在测试和生产中都添加了相同的安全检查,但发布仍然会自动进行

是否有将此类批准流程映射到新YAML多阶段版本的示例

到目前为止,我已经通过“环境”选项卡上的“批准和检查”功能向测试和生产环境添加了一个安全组


请检查以下YAML样本:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

stages:

  - stage: build   
    jobs:
      - job: buildjob        
        steps:
          - checkout: none
      - deployment: DeployWeb
        pool:
          vmImage: 'Ubuntu-16.04'
        environment: 'Verify'

  - stage: deploy
    jobs:
      - deployment: DeployWeb
        displayName: deploy Web App
        pool:
          vmImage: 'Ubuntu-16.04'
        environment: 'Verify'
        strategy:
          # default deployment strategy, more coming...
          runOnce:
            deploy:
              steps:
              - script: echo my first deployment

在我的场景中,我有一个环境名称
Verify
,我为它添加了
批准和检查

要将此
批准和检查应用到多阶段管道中,您需要确保YAML中已针对相应的环境

您需要注意的另一件事是,到目前为止,
环境
只能是YAML的
部署作业
中的目标


换句话说,只有在其中配置-
部署:作业的阶段才能使用
环境
。此外,将与添加了批准和检查的
环境
一起工作

您可以共享您的YAML和您的检查吗?@shaykibaramczyk它是通过环境的“批准和检查”功能完成的,因此它不在YAML本身中。。。就我所知,这就是上面的链接showing@merlin-liang msft我为每个部署都设置了一个阶段,在这个阶段中,环境通过一个变量进行标记——目标是通过模板重用部件。这会影响它吗?@Kieron。您的意思是将环境放在模板中,然后在YAML管道中重新使用此模板吗?如果这样的话,不,不会的。我在实际工作中使用的是这种方式。或者您可以共享您的管道脚本?也许我可以找到它为什么不被应用的原因。@merlin liang msft当然……什么是给你最好的方法?@Kieron,github呢?@merlin liang msft好极了!这里是(请注意,环境是通过变量控制的,第一个和第二个部署阶段在工作后将成为模板: