Jenkins: desencadena otro trabajo después de completar una versión de Maven

Jenkins: desencadena otro trabajo después de completar una versión de Maven

Tengo un trabajo maven configurado, con el complemento m2release. Hace el trabajo perfectamente, que es:

  • construyendo mi aplicación
  • construyendo una versión de lanzamiento
  • publicarlo en artefactorio

Genial.

Ahora, quiero que, cada vez que publique algo, se active un segundo trabajo, que implementaría mi artefacto en un servidor.

No puedo encontrar una manera de hacer eso.

Intenté escribir un script Groovy, pero no puedo identificar en él que estoy ejecutando una ejecución de lanzamiento.

PD: descubrí cómo activar un script en groovy aquí:https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin.

Respuesta1

Finalmente terminé analizando el registro para buscar el número de versión en el registro de salida:

// 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
}

información relacionada