Как автоматически пометить и установить версию при сборке с помощью Azure Devops и Cake Build? - PullRequest
3 голосов
/ 15 апреля 2019

Я использую сценарии 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, который мы создали в конце конвейера сборки.

Итак, вот мои вопросы:

  1. Как мне автоматическиувеличить номера версий и теги?
  2. Следует ли мне избегать автоматического увеличения?
  3. Как добавить номер версии к имени моего артефакта в процессе сборки Azure DevOps?
  4. Что мне нужно изменить в моемКод версии git для использования тегов?
  5. Как добавить суффиксы, чтобы сделать управление версиями и теги более «похожими на git flow» (например, «pre-release» и т. д.)?

Я немного широка, но я изо всех сил пытаюсь найти какие-либо примеры использования git-версий и git-тегов в Cake Build и осмысленного подключения их к DevOps Azure.Заранее спасибо.

...