Как получить номера версий (major.minor.patch) из исходного кода для задач TFS CI
Я пытаюсь создать пакет nuget в процессе CI. Я хочу версии пакетов в соответствии с версией Semantic. По сути, они будут иметь major.minor.patch-ci-date.
для этой цели я использую задачу nuget packager на TFS.
Я могу настроить версию для задачи Nuget Packager, как показано красной рамкой ниже. Но есть проблема. Номера Major.minor.patch определяются разработчиком, и я думаю, что они должны храниться в исходном коде. И TFS должна получать эту информацию из исходного кода или из некоторого кода. В противном случае версия пакета будет храниться вне исходного кода. Кроме того, разработчик должен иметь возможность обновлять задачи TFS CS. В моей организации это не разрешено. Только команда настройки может редактировать задачи CI.
Итак, есть ли способ получить номера major.minor.patch из исходного кода. Какова лучшая практика? В каком файле должны храниться номера версий и как Tfs должен получать эту информацию.
1 ответ
У меня была похожая проблема, когда требовалось скопировать встроенные файлы в папку с номером версии.
Для этого я создал пользовательскую задачу сборки в TFS, которая считывает версию из сборки и сохраняет ее в переменной сборки. В качестве альтернативы пользовательская задача сборки может читать версию из файла из системы контроля версий. (но вам нужно сохранить этот файл!)
Дайте мне знать, если вам нужна дополнительная информация.