Estoy buscando una manera de ejecutar un proceso de Java en segundo plano utilizando la canalización declarativa de Jenkins. A continuación se muestra el fragmento de código.
stage('Deploy'){
steps{
script{
withEnv(['BUILD_ID=dontkill']) {
sh "nohup java -jar test-0.0.1-SNAPSHOT.war &"
}
}
}
}
Ya conocemos ProcessTreeKiller de Jenkins y cada respuesta sugiere hacer lo mismo. He intentado usar el entorno dentro del bloque de pasos sin suerte.
Versión de Jenkins: 2.60.1
Complemento de canalización: 1.1.7
Cualquier ayuda es muy apreciada.
jenkins
jenkins-pipeline
jenkinsfile
Dharanidhar
fuente
fuente
/tmp
por ejemplo) y ejecute todo entre comillas dobles.Respuestas:
Cualquiera que enfrente el mismo problema y use el proyecto de canalización, establezca en
JENKINS_NODE_COOKIE
lugar deBUILD_ID
.No malgastes el ajuste de hora
HUDSON_COOKIE
,HUDSON_SERVER_COOKIE
,JENKINS_COOKIE
oJENKINS_SERVER_COOKIE
. Ninguno de ellos trabaja para proyectos de tuberías.Consulte https://issues.jenkins-ci.org/browse/JENKINS-28182 para obtener más detalles.
fuente