2014-01-17 47 views
9

我希望能夠設置每天晚上重新啓動Jenkins的計劃作業(Windows7)。有沒有辦法建立一個工作來運行,這將做一個safeRestart編程方式,我可以把我的Windows調度?需要按計劃以編程方式重新啓動Jenkins服務

+0

這將是更加有用的,如果我們可以定義調度一個硬編碼的日常維護期間重新開始工作。 – sorin

回答

1

您可以使用Jenkins CLI中的safe-restart命令。

+0

我可以使用API​​令牌,還是需要設置SSH?我更喜歡前者。 –

+0

使用SSH驗證不起作用。獲取驗證失敗。沒有私鑰被接受。 UGG。 –

+1

gareth_bowles ...我得到了它的工作。感謝你的幫助。 –

5

將此處發佈給Google來自此處的其他人。您可以將工作添加到Jenkins以使用CLI重新啓動。添加一個工作與配件臺階執行:

java -jar "$JENKINS_HOME/war/WEB-INF/jenkins-cli.jar" -s "$JENKINS_URL" safe-restart 
16

如果上面的CLI方法沒有工作(在我的情況下,它失敗了:hudson.security.AccessDeniedException2:匿名缺少總體/讀取權限)

您可以創建一個Groovy plugin生成步驟和 「執行系統Groovy腳本」:

import hudson.model.*; 
Hudson.instance.doSafeRestart(null); 

或新詹金斯實例

import jenkins.model.* 
Jenkins.instance.doSafeRestart(null); 

然後,您可以將此作業設置爲按計劃觸發。 例如,每天重新啓動詹金斯午夜,設置「定期生成」:H 00 * * *

+3

恕我直言,這必須是答案 - 這是詹金斯大師完全內置。不依賴任何從屬或外部過程。 – Jayan

+0

恕我直言,無法解決類jenkins.model.Jenkins – sloven

+0

愛這個解決方案,不知道這是可能的。 – uncletall

1

對於詹金斯與LDAP啓用,safe-restart指令直接調用沒有工作。 This JENKINS JIRA helped

登錄第一

java -jar jenkins-cli.jar -s http://localhost:8080 login --username "$JCLIUSER" --password "$JCLIPASSWD" 

安全重啓後

java -jar jenkins-cli.jar -s http://localhost:8080 safe-restart --username "$JCLIUSER" --password "$JCLIPASSWD" 
相關問題