Les emplois de Jenkins Pipeline sont nouveaux pour moi et je suis confronté à un problème que je ne peux pas résoudre.
J'ai une étape avec une valeur codée en dur sleep
secondes:
stage ("wait_prior_starting_smoke_testing") {
echo 'Waiting 5 minutes for deployment to complete prior starting smoke testing'
sleep 300 // seconds
}
Mais je voudrais fournir l’argument heure via un paramètre de travail (chaîne) SLEEP_TIME_IN_SECONDS
. Mais quoi que j'ai essayé, je ne parviens pas à le faire fonctionner.
Comment convertir un paramètre de chaîne en argument int
time?
Enfin, j'ai trouvé un moyen d'obtenir ce travail:
stage ("wait_prior_starting_smoke_testing") {
def time = params.SLEEP_TIME_IN_SECONDS
echo "Waiting ${SLEEP_TIME_IN_SECONDS} seconds for deployment to complete prior starting smoke testing"
sleep time.toInteger() // seconds
}
petite amélioration pour cette page:
Vous pouvez également utiliser sleep(time:3,unit:"SECONDS")
si vous souhaitez spécifier l'unité de temps de votre sommeil.
https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#sleep-sleep