如何解决在主题分支中创建了Azure管道yaml文件,我可以从主题分支中运行它吗?
这可能是一个愚蠢的问题,但是我正在编写一个处理一些自动化测试的管道。我正在功能分支中开发yaml管道。是否可以在Azure Dev ops中运行此管道,还是在每次迭代中提交拉取请求并合并到master的唯一方法?
解决方法
运行DevOps管道时,请选择要对其执行管道的分支。该分支中的azure-pipelines.yaml文件是默认情况下将执行的文件。因此,在上述情况下,如果主分支中有azure-pipelines.yaml文件,而功能分支中有不同版本的azure-pipelines.yaml,则执行的版本将取决于您所在的分支运行管道。
,您可以触发从任何分支(不仅仅是master)运行管道。
您可以在trigger
字段下指定您感兴趣的分支:
trigger:
branches:
include:
- master
- feature/*
- releases/*
exclude:
- releases/old*
如果您查看此代码,则以上内容将触发分支master,特征文件夹内的任何分支(例如feature / yo-currentFeature)以及发布文件夹下的任何分支的构建管道。但是,如果对发行版/旧分支进行了更改,则不会运行bulid管道。 有关触发器的更多信息,请参见: https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/azure-repos-git?view=azure-devops&tabs=yaml#ci-triggers
一旦在触发器:分支下添加功能分支,对功能分支所做的任何提交或PR都会自动触发构建管道
(PS:不用说,但是请确保您的功能分支还包含管道yml文件)
,您可以在所需的任何分支上定义管道,然后,如果您选择从Existing Azure Pipelines YAML file
创建管道,则可以选择分支并选择以下文件:
另一个选择是,如果您应用了某些命名约定,则将条件添加到主构建中以仅针对功能分支运行特定阶段:
variables:
isFeature: $[contains(variables['Build.SourceBranch'],'feature')]
stages:
- stage: A
jobs:
- job: A1
steps:
- script: echo Hello Stage A!
- stage: B
condition: and(succeeded(),eq(variables.isFeature,true))
jobs:
- job: B1
steps:
- script: echo Hello Stage B!
- script: echo $(isMain)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。