Как получить номера версий (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, которая считывает версию из сборки и сохраняет ее в переменной сборки. В качестве альтернативы пользовательская задача сборки может читать версию из файла из системы контроля версий. (но вам нужно сохранить этот файл!)

Дайте мне знать, если вам нужна дополнительная информация.

Другие вопросы по тегам