我在azure-pipelines.yml
中设置了一个触发器,如下所示:
scriptsconn
代表与包含部署管道yaml的默认/ self
存储库的连接。
serviceconn
表示我们正在使用模板和发布任务构建和部署的微服务存储库。
我们有多个具有类似构建管道的微服务,因此这种方法是一种尝试,以减少更新这些步骤所需的工作量。
现在,我们遇到的问题有两个:
无论我们在scriptsconn
资源->存储库部分中指定哪个分支,构建都会触发对存储库中每个分支的每次提交。
无论我们如何为serviceconn
配置触发器,我们都无法使构建为任何提交,创建的PR或合并的PR触发。
根据此配置下面的链接,应该很简单。有人可以指出我们正在犯什么错误吗?
resources:
repositories:
- repository: scriptsconn
type: bitbucket
endpoint: BitbucketAzurePipelines
name: $(scripts.name)
ref: $(scripts.branch)
trigger:
- develop
- repository: serviceconn
type: bitbucket
endpoint: BitbucketAzurePipelines
name: (service.name)
ref: $(service.branch)
trigger:
- develop
pr:
branches:
- develop
variables:
- name: service.path
value: $(Agent.BuildDirectory)/s/$(service.name)
- name: scripts.path
value: $(Agent.BuildDirectory)/s/$(scripts.name)
- name: scripts.output
value: $(scripts.path)/$(release.folder)/$(release.filename)
- group: DeploymentScriptVariables.Dev
stages:
- stage: Build
displayName: Build and push an image
jobs:
- job: Build
displayName: Build
pool:
name: 'Self Hosted 1804'
steps:
- checkout: scriptsconn
- checkout: serviceconn
答案 0 :(得分:0)
您链接到的文档实际上是design document。因此,有可能\可能未实现该页面上的所有内容。在设计文档中,我还看到以下行:
但是,今天没有在存储库资源上启用触发器。因此,我们将保留当前行为,在下一版本的YAML中,默认情况下将启用触发器。
YAML模式上的当前文档似乎表明Repository Resources yet不支持触发器。
就像一个FYI一样,您可以在此URL上看到当前支持的YAML模式。
https://dev.azure.com/{organization}/_apis/distributedtask/yamlschema?api-version=5.1
我不确定template wise之后的情况。一般建议,如果要使用可重用的内容模板工作流程,则可以从每个微服务存储库中的azure-pipelines.yml文件中触发,从而消耗了模板中的可重用步骤。希望有帮助!