azure-devops - 默认取消选择阶段
问题描述
在 Azure Devops 多级 YAML 管道中,我们有多个环境。在正常运行的阶段,我们仅在 QA 中进行构建和部署,因此我们需要手动取消选择每个阶段。默认情况下所有阶段都被选中是否有可能完全相反,默认情况下所有阶段都被取消选择???
trigger: none
pr: none
stages:
- stage: 'Build'
jobs:
- deployment: 'Build'
pool:
name: Default
# testing
environment: INT
strategy:
runOnce:
deploy:
steps:
- checkout: none
- powershell: |
echo "Hello Testing"
Start-Sleep -Seconds 10
- stage: 'Sandbox'
jobs:
- job: 'Sandbox'
pool:
name: Default
steps:
- checkout: none
# testing
- powershell: |
echo "Hello Testing"
- stage: 'Test'
jobs:
- job: 'DEV'
pool:
name: Default
steps:
- checkout: none
- powershell: |
echo "Hello Testing"
- stage: 'QA'
dependsOn: ['Test','Test1','Test2']
jobs:
- job: 'QA'
pool:
name: Default
steps:
- checkout: none
# Testing
- powershell: |
echo "Hello Testing"
解决方案
恐怕没有可以满足您需求的 UI(如运行阶段)方法。
您可以尝试将参数添加到您的 Yaml 示例。
这是一个例子:
trigger: none
pr: none
parameters:
- name: stageTest
displayName: Run Stage test
type: boolean
default: false
- name: stageBuild
displayName: Run Stage build
type: boolean
default: false
stages:
- ${{ if eq(parameters.stageBuild, true) }}:
- stage: 'Build'
jobs:
- deployment: 'Build'
pool:
name: Default
environment: INT
strategy:
runOnce:
deploy:
steps:
- checkout: none
- powershell: |
echo "Hello Testing"
Start-Sleep -Seconds 10
- ${{ if eq(parameters.stageTest, true) }}:
- stage: Test
dependsOn: []
jobs:
- job: B1
steps:
- script: echo "B1"
这些参数用于确定是否运行这些阶段。您可以在阶段前添加表达式,以检查参数值是否满足表达式。
默认值为假。这意味着该阶段默认不会运行。
结果如下:
您可以通过单击选择框来选择需要运行的阶段。
更新
解决方法有一些限制。当 select 阶段有依赖时,需要选择所有依赖的阶段来运行。
例如:
- stage: 'QA'
dependsOn: ['Test','Test1','Test2']
另一方面,我创建了一个建议票来报告此功能请求。这是建议票链接:Pipeline Deselect Stages By Default您可以在其中投票并添加评论。
推荐阅读
- qt - 如何在 ubuntu 上找到 Qt5 包,特定版本?
- javascript - 如何在 Rails 6 中使用 Reveal.js?
- macos - macOS 上的法语键盘,改变波浪号 ~ 键的行为
- r - R 向量 - 找到可以从两个向量的差异中获得的最大正结果的计数
- c - 使用另一个枚举进行枚举初始化
- google-chrome - 如何让 Electron 使用 chrome://flags/#enable-force-dark
- java - 使用 Apache HTTPAsyncClient 为每个 HTTPS 请求自定义 SSLContext
- python - 如何处理 pytz 的 POSIX 时区信息(如 CST)?
- grep - 比较 Ansible 中的两个文件列表
- arrays - 过滤的多个 FIND 条件