Как ввести версию сборки в pom.xml, используя TFS на интерфейсе пользователя? - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть определение сборки TFS, имеющее дело с бэкенд-приложением java, созданным с помощью Maven. У меня есть шаг сборки под названием «Maven pom.xml», где я, очевидно, могу установить некоторые параметры pom.xml.

Мне нужно изменить тег «version» в файле pom.xml, используя TFS во время сборки, чтобы конечная точка «info» в приводе обслуживала правильный номер версии, включая номер сборки TFS.

1) Возможно ли вообще использовать интерфейс TFS? TFS Maven pom.xml screenshot

2) Если да, я должен изменить содержимое текстового поля «Опции» или «MAVEN_OPTS» и как мне там подавать параметры, это изменение <version> в файле pom.xml?

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Да, это возможно. Выполните следующие действия:

1) Создайте еще один шаг сборки maven перед задачей сборки maven с целью "package".

2) Установите "Цель (и)" на:

versions:set -DnewVersion=[VersionInformation] -DskipTests

[VersionInformation] может быть любой строкой, обозначающей желаемую версию. Вы можете использовать переменные TFS здесь. Примером этой строки может быть: 2.3.5. $ (Build.BuildNumber) -RELEASE, поэтому ваша цель для сборки версий: set maven будет выглядеть так:

versions:set -DnewVersion=2.3.5.$(Build.BuildNumber)-RELEASE -DskipTests

Сохраните ваши изменения. Таким образом, файл build-info.properties в папке / target / classes / META-INF будет содержать номер вашей версии, который будет обслуживаться через привод «info».

3) Если вам нужно скопировать выходные данные сборки в другое место, убедитесь, что вы также скопировали папку META-INF. Если ваш текущий шаг копирования не копирует эту папку в ваше конечное место размещения;

а. Создайте шаг сборки «Копировать файлы» после шага (ов) сборки.

б. Введите «$(build.sourcesdirectory)/target/classes/META-INF» в текстовое поле «Исходная папка».

с. Введите * в текстовое поле Содержание. Это скопирует все файлы в META-INF на всякий случай.

* * 1 022 д. Добавьте "/ classes / META-INF" к обычному месту размещения в текстовом поле "Целевая папка", чтобы файлы META-INF были скопированы в нужное место.

е. Сохраните ваши изменения.

Таким образом, ваше определение сборки корректно устанавливает информацию о версии и копирует необходимые файлы в ваше расположение. Чтобы получить доступ к информации о версии, используйте конечную точку привода «info».

0 голосов
/ 07 сентября 2018

Этого нельзя достичь с помощью задачи сборки Maven. Но есть и другие способы сделать это. Например, вы можете использовать некоторые задачи сборки, такие как Замена токенов или Токенизация , чтобы заменить значение в pom.xml версией сборки. Или вы можете добавить задачу скрипта Powershell в определение вашей сборки, чтобы обновить pom.xml.

...