Azure管道构建阶段验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure管道构建阶段验证相关的知识,希望对你有一定的参考价值。

作为我组织中的一个集中化的Azure开发团队,我们希望确保使用标准扩展yaml模板构建某些技术类型的代码。多亏了“扩展”功能和最近在环境级别引入的模板检查,我们现在能够验证开发人员yaml是否扩展了我们的标准yaml。但是此检查仅在构建阶段之后运行。我们可以在构建阶段之前以某种方式对此进行评估吗?

enter image description here

答案

我们可以在构建阶段之前以某种方式对此进行评估吗?

[恐怕,不,直到现在还不能成立,特别是您的公司对YAML结构检查非常严格。


直到现在,Environment只能是YAML的deployment job中的目标

换句话说,只有在其中配置- deployment:作业的阶段才能使用Environment

实际上,如果公司政策允许,解决方法是将- deployment:作业添加到Build阶段,但将步骤保留为空白。这样的样本:

  - stage: build   
    jobs:
      - job: buildjob        
        steps:
          - checkout: none
          - task: oneLuckiGetPostmanScripts@1
            inputs:
              fileLocation: '$(Build.ArtifactStagingDirectory)/postman'
              apiKey: '$(postmankey)'
      - deployment: DeployWeb
        pool:
          vmImage: 'Ubuntu-16.04'
        # creates an environment if it doesn't exist
        environment: 'Verify'
  - stage: test  
    jobs:
      - job: testjob
        steps:
          - checkout: none
          - bash: |
             echo $(Build.ArtifactStagingDirectory)/postman
            displayName: 'dir'    
  - stage: deploy
    jobs:
      - deployment: DeployWeb
        displayName: deploy Web App
        pool:
          vmImage: 'Ubuntu-16.04'
        # creates an environment if it doesn't exist
        environment: 'Verify'
        strategy:
          runOnce:
            deploy:
              steps:
              - script: echo my first deployment

这可以实际执行您想要的操作。但是,恐怕您的政策不允许这样做。

以上是关于Azure管道构建阶段验证的主要内容,如果未能解决你的问题,请参考以下文章

Azure 构建管道 yaml 模板参考

如何停止为每个分支运行 azure dev ops yaml 验证构建?

是否有在本地验证 Azure DevOps Pipeline 的工具?

如何在 azure devops YAML 管道中将单个代理用于多个作业/阶段

为啥我的多阶段完整 yaml azure devops 管道在移动到模板时会中断?

构建 VSTS 扩展 azure webapp 身份验证 JWT 令牌验证失败