Azure管道构建阶段验证

时间:2020-03-04 04:01:53

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline azure-pipelines-build-task

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

enter image description here

1 个答案:

答案 0 :(得分:0)

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

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

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