Jenkins: acione outro trabalho após concluir uma versão maven

Jenkins: acione outro trabalho após concluir uma versão maven

Tenho um trabalho maven configurado, com o plugin m2release. Ele faz o trabalho perfeitamente, que é:

  • construindo meu aplicativo
  • construindo uma versão de lançamento
  • publicando-o no artefato

Isso é ótimo.

Agora, quero que, sempre que eu liberar algo, seja acionado um segundo job, que implantaria meu artefato em um servidor.

Não consigo encontrar uma maneira de fazer isso.

Tentei escrever um script Groovy, mas não consigo identificar nele que estou executando uma execução de lançamento.

PS: descobri como acionar um script no groovy aqui:https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin.

Responder1

Finalmente acabei analisando o log para o número da versão no log de saída:

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

informação relacionada