как получить содержимое pom.xml в jenkins - PullRequest
1 голос
/ 16 февраля 2012

Я хочу проанализировать имена артефактов и их версии в jenkins в соответствии с синтаксическим анализом, который мне нужен для запуска других сборок до того, как текущий проект будет готовым. Как я могу сделать это в Дженкинс, я не смог найти плагин, который может предоставить артефакты POM в качестве переменной. Есть ли способ сделать это без написания кода скрипта?

Ответы [ 2 ]

1 голос
/ 31 декабря 2012

краткий ответ: НЕТ не без кодирования вашего собственного плагина.

возьмите кратчайший архетип плагина jenkins и в вашем методе выполнения сгенерированного плагина:

@Override
public boolean perform( AbstractBuild build, 
            Launcher launcher,
            BuildListener listener) {

Вы можете получить доступ к информации следующим образом:

for (Iterator iterator = build.getProject().getAllJobs().iterator(); iterator.hasNext();) {
    Job currentJob = (Job) iterator.next();             
    if (currentJob instanceof MavenModuleSet) {
        MavenModuleSet mms = (MavenModuleSet) currentJob;
                for (Iterator iter = mms.getModules().iterator(); iter.hasNext();) {
                       MavenModule currentModule = (MavenModule) iter.next(); 

currentModule - ваш модуль из вашего корневого pom.xml, помните имя в jenkins currentModule.getName - это NOT имя артефакта от maven спецификации, но вместо groupid: artifactid .

0 голосов
/ 21 сентября 2015

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

...