Создание конвейера с помощью Jenkins — выпуск M2 — › развертывание в JBoss AS

Я использую Jenkins в качестве среды CI и хочу иметь возможность развертывать артефакты сборки непосредственно на сервере JBoss AS 7.1.1. Для выпуска артефактов Maven я использую плагин Jenkins M2 Release.

Структура проекта, создающего проблемы, выглядит следующим образом:

  • artifact-parent-pom
    • webapp-module
    • тематический модуль

Цель maven jboss-as:deploy может быть вызвана только в модуле webapp.

Чтобы развернуть модуль веб-приложения на сервере JBoss при каждой сборке, я добавил вызов шага после сборки

mvn jboss-as: развертывание

на субмодуле. Это отлично работает для стандартных сборок SNAPSHOT, но не для выпускных сборок.

При использовании подключаемого модуля выпуска Jenkins M2 для выпуска новой версии артефакта номер версии уже обновляется до следующей версии SNAPSHOT при выполнении шага после сборки. Я попытался развернуть релизную версию непосредственно на этапе релиза, но это не сработало, поэтому цель jboss-as:deploy не может быть вызвана в parent-pom.

Все плагины Jeknins, которые я нашел, поддерживают только более старые версии JBoss, такие как

  • Развернуть в контейнере Плагин
  • Плагин управления JBoss

Есть ли простой способ заставить это работать?


person AlexN    schedule 10.04.2013    source источник
comment
Вы видите ошибку? Просто пытаюсь понять, что не работает.   -  person James R. Perkins    schedule 10.04.2013
comment
Проблема в том, что для свойства project.parent.version уже задано значение $MVN_DEV_VERSION, и артефакт еще не был собран с этой версией, но именно ее нужно развернуть. Таким образом, сборка терпит неудачу.   -  person AlexN    schedule 17.04.2013
comment
Вы можете использовать свойство filename для установки имени файла, если это поможет docs.jboss.org/jbossas/7/plugins/maven/latest/. Не совсем уверен, как, но это сработает, если вы сможете получить старую версию.   -  person James R. Perkins    schedule 17.04.2013


Ответы (1)


Я нашел обходной путь. Я сделал две конфигурации: одну для SNAPSHOT и одну для сборки RELEASE. В сборке RELEASE я добавил два пост-этапа, оба из которых вызывали целевую версию: set на родительском помпе, но с разными свойствами. Это приводит к следующим пост-шагам:

  • МВН новаяВерсия=${MVN_RELEASE_VERSION}
  • mvn jboss-as: развертывание
  • mvn новая версия=${MVN_DEV_VERSION}
person AlexN    schedule 11.04.2013