我有一个包含2个目录的存储库,一个目录带有python代码,一个目录带有C代码。 我只想在python文件夹(hello_app)中的文件更改时在所有PR上运行一个管道。 我使用了以下yaml文件,但是当新PR包含hello_app目录之外的更改(仅)时,管道仍在运行:
trigger:
- none
pr:
branches:
include:
- master
paths:
exclude:
- '*'
include:
- hello_app/*
pool:
vmImage: 'ubuntu-latest'
strategy:
matrix:
Python27:
python.version: '2.7'
Python36:
python.version: '3.6'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt
displayName: 'Install dependencies'
- script: |
python -m pip install flake8
flake8 .
displayName: 'Run linter tests'
- script: |
pip install pytest pytest-azurepipelines
pytest
displayName: 'pytest'
我尝试在线搜索,但似乎应该可以。我使用的Yaml出问题了吗?
答案 0 :(得分:1)
请参阅此Doc:
YAML PR触发器仅在GitHub和Bitbucket Cloud中受支持。如果 您使用Azure Repos Git,可以配置用于构建的分支策略 验证以触发您的构建管道进行验证。
如果您使用的是Azure存储库,则需要为构建验证配置分支策略,以触发构建管道进行验证。
您可以导航到branch policy -> build validation
并设置路径过滤器(/hello_app/*
)。
这是我的例子:
然后它可以按预期工作。