排除Azure devops管道针对目录中的某些文件夹运行

问题描述

我在GitHub上有一个项目,其结构如下:

- lib
    - project-1
    - project-2
- project-3

我有一个构建管道,我只想在对project-3进行更改时触发。我想排除触发此管道进行任何其他更改(对project-1project-2的更改)。现在,我有以下配置文件

jobs:
  - job: rolling_VS2017_build
    displayName: 'Extensions build'
    pool:
      name: Hosted VS2017
    steps:
      - template: build/sdl-tasks.yml
      - template: build/npm-build-extensions-steps.yml
pr:
    branches: 
      include:
        - '*'
    paths:
      include:
        - project-3/*
      exclude: 
        - '*'

不幸的是,对于任何项目的更改,拉取请求仍会触发此管道。如何编辑yml文件,以确保仅对更改了project-3的请求请求运行管道,并且不对其他任何更改运行该管道?

解决方法

我已经对您的yaml文件进行了测试,它可以按预期工作,但也触发了CI构建。请检查管道是由CI还是PR触发的:

enter image description here

您可以在yaml版本中添加以下语法:

trigger:
  - none