0
拨打电话到 curl -s -X POST -H ${CRUMB} -u user:token "http://jenkinsserver/reload"
詹REST API继续呼叫后返回重新加载页面重新加载
后接下来的几随后的卷曲调用返回詹金斯的变体重装等待页面。最终curl开始如预期再次工作。发生了什么以及如何使我的程序再次确定性?
拨打电话到 curl -s -X POST -H ${CRUMB} -u user:token "http://jenkinsserver/reload"
詹REST API继续呼叫后返回重新加载页面重新加载
后接下来的几随后的卷曲调用返回詹金斯的变体重装等待页面。最终curl开始如预期再次工作。发生了什么以及如何使我的程序再次确定性?
当詹金斯从磁盘重新加载时,它会向所有http请求返回“等待重新加载”页面。要等待Jenkins再次开始响应请求,请使用类似以下bash代码的内容。 crumb请求被用作简单的Jenkins请求。任何其他请求都可以。
curl -s -X POST -H ${CRUMB} -u user:token "http://jenkinsurl/reload"
#Give Jenkins time to reload
CRUMB=$(curl -s 'http://user:[email protected]/crumbIssuer/api/xml?\
xpath=concat(//crumbRequestField,":",//crumb)')
while echo ${CRUMB} | grep reload; do
echo "Waiting for reload to complete"
sleep 10
CRUMB=$(curl -s 'http://user:[email protected]/crumbIssuer/api/xml?\
xpath=concat(//crumbRequestField,":",//crumb)')
done