webentwicklung-frage-antwort-db.com.de

Jenkins Pipeline-Job: Legen Sie die Ruhezeit anhand eines Zeichenfolgenparameters fest.

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?

18

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
}
23

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

15
Sysanin