2017-03-31 61 views

回答

0

当詹金斯从磁盘重新加载时,它会向所有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