也可以使用YAML编辑器进行发布管道,可以在阶段级设置条件,步骤类似,具体如下: 1.在触发Azure DevOps Pipeline任务中更改为触发build,因为版本为yaml。 1.添加变量RunStage并启用Let users override this value when running this pipeline。释放YAML如下,在stage级别设置条件:
trigger: none
pool:
vmImage: ubuntu-latest
stages:
- stage: test
condition: eq(variables['RunStage'], 'test')
jobs:
- job: A1
steps:
- script: echo test
- stage: dev
condition: eq(variables['RunStage'], 'dev')
dependsOn: test
jobs:
- job: B1
steps:
- script: echo dev
- stage: prod
condition: eq(variables['RunStage'], 'prod')
dependsOn: dev
jobs:
- job: C1
steps:
- script: echo dev
1条答案
按热度按时间vhipe2zx1#
对于Classic版本管道,它有trigger settings,不允许您指定运行目标阶段的条件。
作为解决方法,您可以在舞台下的
job
上设置条件,步骤如下:1.我的发布管道如下:测试,开发,生产阶段。
1.安装扩展Trigger Azure DevOps Pipeline,它可以用来触发发布管道。注意:虽然它有阶段设置来指定目标发布阶段,但它不能正常工作。
1.在您的build pipeline中,调用上述任务,选择target release,将release变量json设置为
{'RunStage' : 'dev'}
(本例中dev为目标stage)。的
1.在releasepipeline中,增加变量
RunStage
,设置为release
scope,在release时可设置。1.对于每个阶段中的作业,在条件表达式中为
agent job
级别设置条件:dev for dev stage,test for test stage。的
1.运行你的构建,它将触发目标版本,只有开发阶段的作业将被执行,测试,生产阶段的其他作业将被跳过。
也可以使用YAML编辑器进行发布管道,可以在阶段级设置条件,步骤类似,具体如下:
1.在触发Azure DevOps Pipeline任务中更改为触发
build
,因为版本为yaml。1.添加变量
RunStage
并启用Let users override this value when running this pipeline
。释放YAML如下,在stage
级别设置条件:字符串