Azure DevOps 存储库触发器未触发

时间:2021-02-12 13:59:13

标签: azure-devops azure-pipelines azure-pipelines-yaml

我希望在对同一 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 部分,以便清楚地表明,当手动触发时,管道成功地从资源库执行模板

4 个答案:

答案 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 触发器。

enter image description here enter image description here

顺便说一下,你也可以参考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 - 您可以尝试定义它吗?

就我而言,我没有使用模板 - 所以这可能是问题所在。