当特定文件夹发生更改时不触发构建运行

问题描述 投票:0回答:1

每当名为“Documentation”的文件夹内有任何文件更改时,我都会尝试跳过构建管道运行。我们有不同的存储库,开发人员可以在“文档”文件夹中添加文档。该文件夹可以位于存储库中的任何位置。有些团队添加到根级别,有些团队添加到主文件夹等。 如何在我的 yaml 文件中设置排除规则,以便在文档文件夹内有文件更改时它不会触发构建运行。

场景1:当Documentation文件夹位于根目录时。

我的 yaml 看起来像这样:

trigger:
 branches:
   include:
   - main
   - releases/*
 paths:
   include:
   - *
   exclude:
   - Documentation/*

场景2:当Documentation文件夹是其中一个文件夹时:

我的 yaml 看起来像这样:

trigger:
 branches:
   include:
   - main
   - releases/*
 paths:
   include:
   - *
   exclude:
   - **/Documentation/**

如您所见,我必须根据文档文件夹的位置不断更新排除脚本。 yaml 文件中是否有一个选项可以排除文档文件夹内的更改,无论它存在于存储库中的哪个位置,这样我就不必不断更新每个不同存储库的排除部分?

azure-devops azure-pipelines azure-pipelines-yaml
1个回答
0
投票

我在排除部分使用

'Documentation/*'
'**/Documentation/*'
测试了以下 yaml,它有效。此配置将排除目录结构中任何级别的“Documentation”文件夹中的任何更改,包括根目录和路径,例如
Folder1/Folder1/Documentation

trigger:
 branches:
   include:
   - main
   - releases/*
 paths:
   include:
   - '*'
   exclude:
   - 'Documentation/*'
   - '**/Documentation/*'

我更改了任何文档文件夹下的文件,它不会触发管道。

示例文件:

© www.soinside.com 2019 - 2024. All rights reserved.