Ich bin neu in Jenkins Pipeline-Jobs und stehe vor einem Problem, das ich nicht lösen kann.
Ich habe eine Stufe mit einem fest codierten Wert von sleep
Sekunden:
stage ("wait_prior_starting_smoke_testing") {
echo 'Waiting 5 minutes for deployment to complete prior starting smoke testing'
sleep 300 // seconds
}
Aber ich möchte das Zeitargument über einen Job (String) -Parameter SLEEP_TIME_IN_SECONDS
. Aber was auch immer ich versucht habe, ich kann es nicht zum Laufen bringen.
Wie konvertiert man einen String-Parameter in das Zeitargument int
?
Endlich habe ich einen Weg gefunden, um diese Arbeit zu bekommen:
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
}
kleine Verbesserung für diese Seite:
Sie können auch sleep(time:3,unit:"SECONDS")
verwenden, wenn Sie die Zeiteinheit Ihres Schlafs angeben möchten
https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#sleep-sleep