azure-devops - Azure 管道构建阶段验证
问题描述
作为我组织中的一个集中式 azure devops 团队,我们希望确保使用标准扩展 yaml 模板构建的某些技术类型的代码。由于“扩展”功能和最近在环境级别引入的模板检查,我们现在能够验证开发人员的 yaml 是否扩展了我们的标准 yaml。但是这个检查只在构建阶段之后运行。我们可以在构建阶段之前以某种方式对此进行评估吗?
解决方案
我们可以在构建阶段之前以某种方式对此进行评估吗?
恐怕,不,直到现在还不是真的,尤其是贵公司对 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
这实际上可以做你想做的事。但恐怕你的政策不允许这样做。
推荐阅读
- javascript - 这是一个纯函数吗?
- while-loop - 为什么这要求用户输入两次?
- docker - 在将文件从目标复制到 webapps 时在 Dockerfile 中出现错误
- c++ - 使用 typedef 指针指向类中的函数
- typescript - 将管道应用于控制器中的所有变量出现
- c# - 如何在 C# 中发送电子邮件时修复“发送电子邮件异常失败”?
- micrometer - 千分尺 | 为什么 CompositeMeterRegistry 管理 Set of Registry 而不是 List/LinkedHashSet?
- windows - 安装 Gstreamer 后没有这样的元素 filesrc
- swift - 快速通知操作
- r - 删除数据框中的空值