在模板管道中,您不能放置任何触发器语句,例如trigger: none
Microsoft文档中指定的禁用 ci 触发器,所以我想知道您如何防止每次更新它们或同一分支中的任何其他 yaml 文件时执行这些管道?
问问题
16165 次
3 回答
31
于 2021-02-19T11:26:56.450 回答
0
如果您想在不影响使用此模板的管道的情况下更新模板,请在单独的分支上进行更改并将其合并到 master(或您使用的任何内容),一旦您确定您拥有所需的内容。
如果您使用来自不同仓库的模板,这同样适用:
# Repo: Contoso/WindowsProduct
# File: azure-pipelines.yml
resources:
repositories:
- repository: templates
type: github
name: Contoso/BuildTemplates
ref: refs/tags/v1.0 # optional ref to pin to
jobs:
- template: common.yml@templates # Template reference
parameters:
vmImage: 'vs2017-win2016'
默认情况下,您使用主分支中的模板,但您可以指向任何您想要的分支。因此,您还可以在有限的管道上测试您的更改,因为您需要直接指向您修改模板的分支。
假设你有那个分支:
master
|_ feature/add-extra-step
并且您在模板中进行了更改,但feature/add-extra-step
通过添加额外的步骤来进行。
现在,当您触发使用该模板的管道时:
- 触发器来自
master
- 您在模板中的附加步骤将不会运行 - 触发器来自
feature/add-extra-step
- 您的附加步骤将运行
我在feature/extra-step
分支上更改了模板:
当我在 master 上运行管道(甚至是相同的管道)时,这是不可用的更改:
例如,如果您不想触发 ci build 对模板进行更改,请[skip ci]
在 git 消息中使用短语提交这些更改。在这里查看更多详情。
于 2020-12-11T10:15:55.773 回答