我有一个包含2个项目的多项目回购。我在每个项目中都有一个管道,其中包含与其他项目一起定义的排除路径。每当我对任何文件进行更改时,两个管道都会被触发。
.
├── README.md
└── project-1
|── azure-pipelines-apis.yml
│ └── …
└── project-2
|── azure-pipelines-ui.yml
└── …
└── project-3
└── project-4
以下是管道:
项目1:
trigger:
branches:
include:
- 'dev'
paths:
include:
- 'project-1/*'
exclude:
- 'project-2/*'
- 'project-3/*'
- 'project-4/*'
- 'README.md'
项目2:
trigger:
branches:
include:
- 'dev'
paths:
include:
- 'project-2/*'
exclude:
- 'project-1/*'
- 'project-3/*'
- 'project-4/*'
- 'README.md'
每当我在project-1中的文件中进行更改时,两个管道都会运行。我试图在Azure Devops Pipelines的触发器菜单中定义包含和排除路径,但没有成功。
你能给我任何线索来了解发生了什么吗?我查看了官方文件,但找不到发生了什么。
谢谢!
您的YAML触发器看起来不错。您也不需要添加排除部分,因为它们是不同的路径。你能在Azure DevOps上检查分配的YAML文件吗?
下面的代码对我有效。因此,第二个管道被明确排除在外。
项目1:
trigger:
branches:
include:
- 'dev'
paths:
include:
- 'project-1/*'
exclude:
- project-2/azure-pipelines-ui.yml