Я использую Azure DevOps Pipelines с GitVersion.
У меня есть один репозиторий git с двумя проектами в папках:
ProjectA/ProjectA.csproj
ProjectA/azure-pipelines.yml
ProjectA/gitversion.yml
ProjectB/ProjectB.csproj
ProjectB/azure-pipelines.yml
ProjectB/gitversion.yml
Начало моего pipe.yml выглядит так:
trigger:
branches:
include:
- '*'
paths:
include:
- 'ProjectA' <-- ProjectB in the other file
# Setup everything
steps:
- task: NuGetCommand@2
displayName: 'Install GitVersion CLI Tool'
inputs:
command: custom
arguments: install GitVersion.CommandLine -Version 5.0.0 -OutputDirectory $(Build.BinariesDirectory)/tools -ExcludeVersion
- task: UseDotNet@2
displayName: 'Install .NET Core SDK 3.0'
inputs:
packageType: 'sdk'
version: '3.x'
includePreviewVersions: true
# Execute the GitVersion Tool
- script: mono $(Build.BinariesDirectory)/tools/GitVersion.CommandLine/tools/GitVersion.exe /output buildserver /nofetch
displayName: 'Execute GitVersion CLI Tool'
с последующим восстановлением dotnet, сборкой и так далее.
Моя проблема в том, что ProjectA получает версию «-alpha12» через коммиты. И затем я фиксирую ProjectB, он получает версию «-alpha13». Но эти два проекта независимы друг от друга, как и версия.
Я упомянул, что нигде нет пути к gitversion.yml, и я думаю, что процесс сборки просто работает с настройками по умолчанию. Но я не знаю, как указать путь к gitversion.yml, и не знаю, решит ли это мою проблему.
Кто-нибудь может мне помочь?