我是詹金斯管道工作的新手,我遇到了一个我无法解决的问题。
我有一个带有硬编码sleep
秒值的舞台:
stage ("wait_prior_starting_smoke_testing") {
echo 'Waiting 5 minutes for deployment to complete prior starting smoke testing'
sleep 300 // seconds
}
但我想通过作业(字符串)参数SLEEP_TIME_IN_SECONDS
提供时间参数。但无论我尝试过什么,我都无法让它发挥作用。
如何将字符串参数转换为int
时间参数?
答案 0 :(得分:20)
最后我找到了一种方法来完成这项工作:
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
}
答案 1 :(得分:7)
此页面的小改进:
如果您有兴趣指定睡眠时间单位,也可以使用sleep(time:3,unit:"SECONDS")
https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#sleep-sleep
答案 2 :(得分:3)
尝试一下。它对我有用。
stage ("wait_for_testing")
{
sh 'sleep 300'
}
使用“ sh”启动具有shell的虚拟终端。如果需要在一个终端中写其他命令,请写;后命令。 例如:
sh 'pwd; sleep 300; echo "Hello World"'