Мы используем azure dev ops для CICD и проверяем PR.
Вчера я решил начать создавать файлы yaml для проверочных сборок.
Я создал конвейер. Я установил политику ветки для «разработки», и сборка проверки прошла нормально.
Однако я вижу, что каждый раз, когда ЛЮБАЯ ветвь получает изменения в файлах каталога, я установила сборку проверки для сборки запускает.
Итак, допустим, я создал конвейер yaml (только для CI) для проекта Main (src / Main) и установил политику ветки для ветки 'development', чтобы запускать сборку проверки всякий раз, когда есть изменение в этой главной папке (src / Main / *) с Main.sln внутри, и это были PR из ветви (т.е. feature / Main / FirstPR). Это работает, но затем, если я сливаю 'development' в любую ветку, в которой не было изменений в основной каталог, это вызовет эту сборку. Никакая другая отраслевая политика не включает валидацию для Main, кроме разработки, даже если она не была опубликована, а просто подтолкнута.
Вот пример файла yaml. Любая обратная связь будет оценена.
# ASP.NET Core (.NET Framework)
# Build and test ASP.NET Core projects targeting the full .NET Framework.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
pool:
vmImage: 'windows-2019'
demands:
- msbuild
- visualstudio
- vstest
variables:
solution: 'src/Main/Main.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
inputs:
versionSpec: '5.0.0'
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '$(solution)'
feedsToUse: 'select'
vstsFeed: '5aaa76ac-3bqa-4567-usd9-btdse1c4c66a'
restoreDirectory: '../../packages'
- task: VSBuild@1
inputs:
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'