Qual è il modo corretto di avviare uno script da jenkins, non far appendere la build e lasciare che il processo sia in esecuzione? Non riesco a farlo funzionare. O lo script non viene eseguito o la build si blocca.Un modo pulito per avviare uno script di shell in background da Jenkins
Se metto a "guscio Execute" del costruire passo bash relaunch.sh &
o relaunch.sh > output.log &
o nohup bash relaunch.sh &
, non succede nulla; la build termina, ma il processo non viene eseguito. Immagino che possa essere collegato a Jenkins in attesa del error pipe to close.
Se faccio nohup bash relaunch.sh 2>&1 > output.log
come suggerito here, l'uscita è correttamente reindirizzato, ma si blocca di compilazione (non completa), e il processo muore quando uccido la compilazione.
Aggiunta export BUILD_ID=dontKillMe
, come suggerito here, here e here, sia alla "Esegui shell" step o dello stesso script non aiuta. La build si blocca e il processo muore quando uccido la build. Inutile dire che la mia conoscenza di Linux è molto limitata.
Come fanno le persone in modo pulito?
Grazie, questo ci ha aiutato tremendamente oggi! –
Se questo non funziona, prova a impostare 'JENKINS_NODE_COOKIE = dontKillMe' invece - https://devops.stackexchange.com/questions/1473/running-a-background-process-in-pipeline-job?newreg=13a0d91a60b34ad19103b50348945dd4 – Joshua