azure构建管道未按触发方式启动

时间:2020-07-21 12:21:46

标签: azure-devops

Azure git存储库中有一个构建管道:

variables:
  BuildConfiguration: release
  BuildPlatform: 'any cpu'
trigger:
  branches:
    include:
    - release/*
  paths:
    include:
    - src/*
    - azure-pipelines.yml
    - versionFile

我正在使用push命令将本地分支推送到远程存储库,如下所示:

git push --set-upstream origin release/0.6.9                                                                                                Total 0 (delta 0), reused 0 (delta 0)                                                                                                                      To https://dev.azure.com/*****/**/_git/**                                                                                                     * [new branch]      release/0.6.9 -> release/0.6.9    

,新分支出现在源代码管理中。

新分支更改包含src子文件夹中的文件。 问题是构建无法启动。

它应以documented开头:

如果您的管道具有路径过滤器,则只有在新分支对与该路径过滤器匹配的文件进行了更改时,才会触发该管道。

release/*过滤器后面没有空格,就像我刚刚检查过的一样。

我还可以检查什么?

UPD : 所有路径条件都应该为真吗?

  paths:
    include:
    - src/*
    - azure-pipelines.yml
    - versionFile

只有src/*文件被新分支更改,versionFileazure-pipelines.yml相同。

UPD2:

还有一个建立文档的构建管道

它从git push --set-upstream

开始
trigger:
  branches:
    include:
    - release/*
  paths:
    include:
    - doc/*

2 个答案:

答案 0 :(得分:0)

使用Yaml文件中的相同触发器进行测试,它可以成功触发构建。

我想分享我的步骤以及此问题的可能原因。

这是我的步骤,您可以参考它们。

回购结构:

enter image description here

第一步:运行Git命令将更改推送到新分支。

命令:

git clone "repourlxxx"

git checkout -b release/0.9.7

git add --all

git commit -m "first commit of my code"

git remote add origin xxx

git push --set-upstream origin release/0.9.7

注意::在本地更改src文件夹的内容时,需要使用git commit命令添加更改,然后将其推送到新分支。否则,新分支中不会有任何更改,因此不会触发构建。

步骤2:将创建新分支release/0.9.7,并触发管道。

enter image description here

注意:带有触发器的YAML文件(azure-pipelines.yml)需要包含在新分支中

enter image description here

解决方法:

您可以尝试使用UI触发器覆盖Yaml代码中的触发器。

导航至设置->触发器->选择Override the YAML continuous integration trigger from here选项。

enter image description here

答案 1 :(得分:0)

我已经禁用了现有管道,并创建了一个新管道(来自同一yml文件)。

神奇的是它开始像魅力一样工作(我没有使用管道UI覆盖触发器)

由于存在基于现有管道的发行版,因此无法删除现有管道。