Как я могу обновить pom.xml в конвейере Дженкинса, не имея разработчика, чтобы изменить его pom.xml?

#maven #jenkins #jenkins-pipeline

Вопрос:

Цель: мне нужно добавить зависимость rpm-maven-плагина в исходном pom.xml в трубопроводе Дженкинса

Причина: Разработчику не нужно беспокоиться о упаковке банки в rpm, более того, 100 микросервисов не могут вносить изменения во все pom.xml-с.

Мы ценим любой вклад,

Я следил за этим постом

Мне нужно обновить существующий pom.xml в конвейере Дженкинса, чтобы иметь возможность добавлять плагин rpm-maven на лету, без необходимости фиксироваться в базе кода.

Комментарии:

1. Для определения плагинов обычно определяется родительский POM компании, от которого все наследуют. Таким образом, каждый получает необходимые плагины в нужных версиях.

2. Простой ответ на это: Невозможно. Изменение jar на rpm также является фундаментальным изменением в развертывании … просто добавить в пакет в rpm недостаточно. Вы должны указать различные параметры конфигурации, в которых jar будет находиться в rpm (целевой системе) и т. Д. и т. Д. ?

3. Да, поскольку сборка jar исходит от разных команд, это тяжелая битва, они не собираются изменять исходный код, это должна сделать команда автоматизации в Дженкинсе,

4. Я предполагаю представить родительский ПОМ компании и сказать всем, чтобы они его использовали. После некоторого рода вы можете ввести шаг в Jenkins, который приведет к сбою сборки, если у него не будет правильного родительского POM.

Ответ №1:

Конвейеры Дженкинса поддерживают следующие шаги readMavenPom :

Считывает файл проекта Maven. Возвращаемый объект-это модель.

и writeMavenPom :

Записывает файл проекта Maven. Это, например, было ранее прочитано readMavenPom .