我希望在对同一 Azure 项目内的另一个存储库进行提交后运行一个存储库的管道。
我的管道定义:
resources:
repositories:
- repository: SupDevA
name: Sup.Dev.A
type: git
ref: test
trigger:
branches:
include:
- test
steps:
- script: 'echo test'
- template: dummy-template.yml@SupDevA
parameters:
text: 'testing if the dummy templates is executed'
Sup.Dev.A 是在分支 test
上进行提交时应该触发我的管道的存储库的名称。但是当我在分支测试上创建提交时,触发器不会触发。
两个仓库在同一个项目中 我错过了什么吗?该代码基于 ms 文档 https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/multi-repo-checkout?view=azure-devops#triggers
编辑: 添加了 -template 部分,以便清楚地表明,当手动触发时,管道成功地从资源库执行模板
答案 0 :(得分:1)
你的样本对我来说效果很好。
# Repo: test
# File: azure-pipelines.yml
resources:
repositories:
- repository: SupDevA
name: Sup.Dev.A
type: git
ref: test
trigger:
branches:
include:
- test
steps:
- script: 'echo test'
- template: dummy-template.yml@SupDevA
parameters:
text: 'testing if the dummy templates is executed'
# Repo: Sup.Dev.A
# File: dummy-template.yml
parameters:
- name: text
default: ''
type: string
steps:
- script: echo ${{ parameters.text }}
你的 yaml 是正确的,我建议你可以删除 repo 并重新创建一个新的。另外,请检查您是否覆盖了 CI 触发器。
顺便说一下,你也可以参考this document。
答案 1 :(得分:1)
既然@walter-qian-msft 成功地复制了这个,它一定是管道位置与触发器混淆的东西。
由于他可能在默认分支上对此进行了测试,您是否尝试将 YAML 文件合并到 fig,ax = plt.subplots()
scatter = ax.scatter(pca_data['PC1'], pca_data['PC2'],c=pca_data['cluster'],cmap='Set3',alpha=0.7)
legend1 = ax.legend(*scatter.legend_elements(),
loc="upper left", title="")
ax.add_artist(legend1)
/master
分支?
答案 2 :(得分:0)
我认为 ref: test
可能会混淆它。
我会尝试删除 ref: test
,因为触发器分支包含应该处理它。如果确实需要它,我会将其更改为 ref: 'refs/heads/test'
。
答案 3 :(得分:0)
这实际上更多的是评论而不是答案,所以如果这没有帮助,我会在之后删除它。 这对我有用;
trigger: none
resources:
pipelines:
- pipeline: 'HmiTpm-Ci'
source: HmiTpm-Ci
trigger:
branches:
- master
- features/*
- pipeline: 'HmiTpm-Release'
source: HmiTpm-Release
trigger:
branches:
- master
- features/*
...
如果我查看您的脚本,我没有看到定义的 source
- 您可以尝试定义它吗?
就我而言,我没有使用模板 - 所以这可能是问题所在。