Azure devops Azure管道构建阶段验证

Azure devops Azure管道构建阶段验证,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,azure-pipelines-build-task,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,Azure Pipelines Build Task,作为my org中的一个集中式azure devops团队,我们希望确保使用标准扩展yaml模板构建特定技术类型的代码。由于“扩展”功能和最近在环境级别引入的模板检查,我们现在能够验证开发人员YAML是否扩展了我们的标准YAML。但此检查仅在构建阶段之后运行。我们能在构建阶段之前评估一下吗 我们能在构建阶段之前评估一下吗 恐怕,不,直到现在才可能是真的,尤其是贵公司对YAML结构检查非常严格 到目前为止,环境只能是YAML的部署作业中的目标 换句话说,只有在其中配置-deployment:作

作为my org中的一个集中式azure devops团队,我们希望确保使用标准扩展yaml模板构建特定技术类型的代码。由于“扩展”功能和最近在环境级别引入的模板检查,我们现在能够验证开发人员YAML是否扩展了我们的标准YAML。但此检查仅在构建阶段之后运行。我们能在构建阶段之前评估一下吗

我们能在构建阶段之前评估一下吗

恐怕,不,直到现在才可能是真的,尤其是贵公司对YAML结构检查非常严格


到目前为止,
环境
只能是YAML的
部署作业
中的目标

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

如果您的公司政策允许,实际上,这里的解决方法是将
-deployment:
作业添加到
构建
阶段,但将步骤留空。如下示例:

  - 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

这可以做你想做的事情。但恐怕您的政策不允许这样做。

很好的解决方法,在管道中添加了YAML合规性阶段,这是构建之前的部署阶段,创建了“验证”环境,在其中添加了扩展模板签入,并按预期工作。唯一似乎仍然失控的事情是团队仍然可以创建自己的管道yaml,完美的解决方案是在任何构建上连接这个验证阶段invocation@Sanjeev是的,你是对的。正如我所说的,它的局限性只是一个阶段的工作。所以,如果您想要检查所有,您必须让它在每个阶段中定义,以使这个扩展检查对所有人都有效。