Дженкинс: запустить другую работу после завершения релиза Maven

522
jehon

У меня настроена работа maven с плагином m2release. Он отлично выполняет свою работу, а именно:

  • строит мое приложение
  • построение релизной версии
  • опубликовать его в артефакте

Замечательно.

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

Я не могу найти способ сделать это.

Я пытался написать Groovy-скрипт, но не могу определить в нем, что я запускаю релиз.

PS: я узнал, как запустить скрипт в groovy здесь: https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin .

0

1 ответ на вопрос

0
jehon

Я наконец закончил анализ журнала для номера версии в выходном журнале:

// Initialize some stuff def build = Thread.currentThread().executable def log = manager.build.logFile.text  // We are looking for maven parameter -DreleaseVersion=1.1.1 (space at the end) def versionFinder = log =~ /-DreleaseVersion=([0-9]+\.[0-9]+\.[0-9]+) /  def RELEASE_VERSION="" if (versionFinder.size() > 0) { RELEASE_VERSION=versionFinder.getAt(0)[1]; }  if (RELEASE_VERSION > "") { manager.listener.logger.println("Release version: " + RELEASE_VERSION); // Continue with release script // For example, here: // https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin }