Я использую сценарии Cake для создания своего программного обеспечения в Azure DevOps посредством непрерывной интеграции.Требование заключается в том, что когда мы фиксируем / объединяем ветку dev или master, запускаются соответствующие конвейеры сборки.В рамках этой сборки нам нужно автоматически пометить и установить версию нашего программного обеспечения.У меня уже есть следующий код в моем скрипте торта, чтобы использовать GitVersion для добавления семантического управления версиями в мою сборку:
Task("Version")
.Does(() =>
{
Information("Versioning software for configuration {0} of {1}...", configuration, solution);
GitVersion(new GitVersionSettings {
UpdateAssemblyInfo = true,
OutputType = GitVersionOutput.BuildServer,
WorkingDirectory = toolsDirectory
});
GitVersion versionInfo = GitVersion(new GitVersionSettings{ OutputType = GitVersionOutput.Json });
Information("Semantic Version: " + versionInfo.AssemblySemVer);
Information("Full Semantic Version: " + versionInfo.AssemblySemFileVer);
Information("Informational Version: " + versionInfo.InformationalVersion);
});
Я хочу, чтобы руководитель группы или кто-то из органов власти увеличивал основные и вспомогательные версии сборки до этогокод сливается с веткой.Или я хочу, чтобы конвейер автоматически установил версию программного обеспечения и возможный артефакт zip, который мы создали в конце конвейера сборки.
Итак, вот мои вопросы:
- Как мне автоматическиувеличить номера версий и теги?
- Следует ли мне избегать автоматического увеличения?
- Как добавить номер версии к имени моего артефакта в процессе сборки Azure DevOps?
- Что мне нужно изменить в моемКод версии git для использования тегов?
- Как добавить суффиксы, чтобы сделать управление версиями и теги более «похожими на git flow» (например, «pre-release» и т. д.)?
Я немного широка, но я изо всех сил пытаюсь найти какие-либо примеры использования git-версий и git-тегов в Cake Build и осмысленного подключения их к DevOps Azure.Заранее спасибо.