Дженкинс - как установить номер версии сборки на основе версии сборки?
Многие вопросы в Stackru или других блогах показывают, как использовать номер сборки Jenkins и плагин изменения версии сборки для установки AssemblyVersion в файле AssemblyInfo.cs.
Но я пытаюсь сделать наоборот - установить версию сборки jenkins на версию из AssemblyInfo.cs? Очевидно, я бы сделал это ПОСЛЕ того, как исходный код был снесен.
Почему я хочу это сделать? Причина: я хотел бы синхронизировать следующие четыре "компонента"
Мой AssemblyInfo.cs, например, [assembly: AssemblyVersion("2.10.*")] - мой "источник правды" для управления версиями major.minor.
Во время сборки я бы обновил версию до, например, 2.10.73, где 73 от ${BUILDS_ALL_TIME}
Мы публикуем наш код на нашем внутреннем сервере Nuget, поэтому я бы хотел, чтобы версия пакета Nuget была, например, 2.10.73.
Я планирую пометить / пометить наш источник контроля названием Jenkins Build
Поэтому я бы хотел, чтобы имя моей сборки jenkins было, например, MyProject.2.10.73
Я могу это сделать? А именно, я бы хотел, чтобы версия major.minor была установлена в моем AssemblyInfo.cs, который находится в управлении исходным кодом.
Спасибо!
1 ответ
Спасибо Сурешу за то, что он указал мне правильное направление.
Я в конечном итоге 1) Использование плагина EnvInject (в качестве действия сборки)
https://wiki.jenkins.io/display/JENKINS/EnvInject+Plugin
2) Написал свой собственный скрипт PowerShell, чтобы прочитать мой файл AssemblyInfo.cs и вывести свойства моей среды, см. Этот пост
3) Использовал плагин Build Name Setter, чтобы затем изменить имя после сборки
https://wiki.jenkins.io/display/JENKINS/Build+Name+Setter+Plugin