首页 > 解决方案 > Azure 管道构建阶段验证

问题描述

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

在此处输入图像描述

标签: azure-devopsazure-pipelinesazure-pipelines-release-pipelineazure-pipelines-build-task

解决方案


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

恐怕,不,直到现在还不是真的,尤其是贵公司对 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

这实际上可以做你想做的事。但恐怕你的政策不允许这样做。


推荐阅读