【问题标题】:Azure pipeline build Stage verificationAzure 管道构建阶段验证
【发布时间】:2020-03-04 04:01:53
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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


    到目前为止,Environment 只能是 YAML 的 deployment job 中的target

    换句话说,只有在其中配置了- 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
    

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

    【讨论】:

    • 很好的解决方法,在管道中添加了一个 YAML 合规阶段,这是构建之前的部署阶段,创建了一个“验证”环境,在那里添加了扩展模板检查,它按预期工作。唯一似乎仍然失控的是团队仍然可以创建自己的管道 yaml,完美的解决方案是在任何构建调用上连接这个验证阶段
    • @Sanjeev,是的,你是对的。正如我所说,它的局限性仅适用于一个阶段。所以,如果你想检查所有,你必须让它在每个阶段都定义,以使这个扩展检查对所有人都有效。
    猜你喜欢
    • 2021-11-10
    • 2020-07-04
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2021-03-25
    • 2022-11-10
    相关资源
    最近更新 更多