Estou procurando uma maneira de executar um processo java em segundo plano usando o pipeline declarativo Jenkins. Abaixo está o trecho de código
stage('Deploy'){
steps{
script{
withEnv(['BUILD_ID=dontkill']) {
sh "nohup java -jar test-0.0.1-SNAPSHOT.war &"
}
}
}
}
Já conhece o ProcessTreeKiller de Jenkins e todas as respostas sugerem fazer o mesmo. Eu tentei usar o ambiente dentro do bloco de etapas sem sorte.
Versão Jenkins: 2.60.1
Plug-in Pipeline: 1.1.7
Qualquer ajuda é muito apreciada.
jenkins
jenkins-pipeline
jenkinsfile
Dharanidhar
fonte
fonte
/tmp
por exemplo) e execute tudo entre aspas duplas.Respostas:
Qualquer um enfrentando o mesmo problema e usando o projeto de pipeline, defina em
JENKINS_NODE_COOKIE
vez deBUILD_ID
.Não desperdice seu ajuste de tempo
HUDSON_COOKIE
,HUDSON_SERVER_COOKIE
,JENKINS_COOKIE
ouJENKINS_SERVER_COOKIE
. Nenhum deles trabalha para o projeto de pipeline.Consulte https://issues.jenkins-ci.org/browse/JENKINS-28182 para obter mais detalhes.
fonte