在Azure Devops多阶段YAML管道中,我们获得了多个环境。 在正常运行的阶段中,我们仅在质量检查中进行构建和部署,因此我们需要手动取消选择每个阶段。默认情况下,所有阶段均处于选中状态,可能与之完全相反,默认情况下所有阶段均未选中?
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"
答案 0 :(得分:1)
恐怕没有可以满足您需求的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"
参数用于确定是否运行这些阶段。您可以在阶段之前添加表达式,以检查参数值是否可以满足表达式。
默认值为false。这意味着该阶段默认不会运行。
这是结果:
您可以通过单击选择框来选择需要运行的阶段。
更新
解决方法有一些限制。当选择阶段都有depenencies,您需要选择所有相关的阶段运行。
例如:
- stage: 'QA'
dependsOn: ['Test','Test1','Test2']
另一方面,我创建了建议票以报告此功能请求。这是建议票证链接:Pipeline Deselect Stages By Default您可以投票并在其中添加评论。