Attualmente sto iniziando a convertire le nostre build in una pipeline di build Jenkins. Ad un certo punto è necessario attendere l'avvio di un'applicazione web all'interno di un container.Attendere la pipeline Jenkins fino a quando il server non è attivo
La mia idea era di usare qualcosa di simile:
timeout(120) {
waitUntil {
sh 'wget -q http://server:8080/app/welcome.jsf -O /dev/null'
}
}
Purtroppo questo rende la costruzione gasdotto venga meno
ERROR: script returned exit code 4
C'è un modo semplice per fare questo lavoro?
Edit:
sono riuscito a farlo funzionare utilizzando il seguente codice, ma lo stadio è ancora segnato come non riuscito (anche se la build continua ed è contrassegnato verde alla fine).
timeout(120) {
waitUntil {
try {
sh 'wget -q http://server:8080/app/welcome.jsf -O /dev/null'
return true
} catch (exception) {
return false
}
}
}
Ho dovuto avvolgere il codice con 'script {def ... return}'. – xverges
Vale anche la pena notare che, nella mia versione jenkins, le unità di timeout sono impostate su minuti. – xverges
Hanno cambiato la sintassi della pipeline molto negli ultimi mesi, quindi è abbastanza probabile che questo non sia aggiornato. – Nitek