我們有一個現有的 Jenkins 安裝,我從命令列中運行。 我希望將其作為一個 Windows 服務來使用,這樣它就可以在機器重新啟動時啟動,而不要求有人登錄。
我已經閱讀了如何做到這一點,但我擔心這可能會破壞我們現有的設定、作業和其他依賴當前位置的腳本。 顯然,當你將Jenkins安裝為Windows服務時,它會要求你提供一個JENKINS_HOME的位置。
我可以直接給它現有的位置嗎? 它是否能正常作業,或者是否會有抹去現有內容的危險? 如果我想安全起見,備份一切以防萬一,我是否可以復制現有的.jenkins檔案夾,然后在出現問題時再復制回來? 還是有其他的檔案需要我備份?
我的問題基本上是這樣的。
點擊它,你就來到了${JENKINS_URL}/install。 把它指向你現有的安裝程式并點擊 "安裝"。你將會得到一個提示,要求作為一個服務重新啟動,然后它就會重新啟動。
你已經完成了。你應該在你的日志中看到系統重新啟動的資訊:
2021-09-10 00:25:44.077 0000 [id=96] INFO jenkins.model.Jenkins#cleanUp: 停止Jenkins
2021-09-10 00:25:44.080 0000 [id=96] INFO jenkins.model.Jenkins$18#onAttained: 開始終止
2021-09-10 00:25:44.099 0000 [id=96] INFO jenkins.model.Jenkins$18#onAttained: 已完成終止
2021-09-10 00:25:44.100 0000 [id=96] INFO jenkins.model.Jenkins#_cleanUpDisconnectComputers: 啟動節點斷開連接
2021-09-10 00:25:44.115 0000 [id=96] INFO jenkins.model.Jenkins#_cleanUpShutdownPluginManager: 停止插件管理器
2021-09-10 00:25:44.115 0000 [id=96] INFO jenkins.model.Jenkins#_cleanUpPersistQueue: 堅持構建佇列
2021-09-10 00:25:44.127 0000 [id=96] INFO jenkins.model.Jenkins#_cleanUpAwaitDisconnects: 等待節點斷開連接的完成
2021-09-10 00:25:44.127 0000 [id=96] INFO jenkins.model.Jenkins#cleanUp: Jenkins停止了
[.jenkins] $ C:Users .jenkinsjenkins.exe start
2021-09-09 17:25:45,153 INFO - 啟動ID為'jenkins'的服務
您現在還應該看到 jenkins 服務在 Windows 服務中運行。
注意:您可以通過命令列管理它。
注意:無論使用此機制還是MSI 安裝,有關以 LocalSystem 身份運行的安全注意事項同樣適用。建議改為以本地用戶身份運行;需要LogonAsService權限(使用 LocalSystem 賬戶作為服務登錄賬戶,為什么在 Windows 上以本地系統身份運行服務是不好的)。本地安全策略>本地策略>用戶權限管理>以服務身份登錄。 圖片截取自Win 10 Enterprise上的2.303.1;YMMV.
標籤: 上一篇:jenkins管道在GenericDownloadExecutor.java中出現莫名其妙的NullPointerException。52
C:>用戶權限管理>以服務身份登錄。
C:>sc query jenkins
SERVICE_NAME: jenkins
型別 : 10 win32_own_process
狀態 : 4 正在運行
(stoppable, not_pausable, accepts_shutdown)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:> sc stop jenkins
SERVICE_NAME: jenkins
型別 : 10 win32_own_process
狀態 : 3 stop_pending
(stoppable, not_pausable, accepts_shutdown)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
C:> sc delete jenkins
[SC] DeleteService SUCCESS
C:>
C:Users .jenkins> jenkins.exe /?
一個包裝二進制檔案,可用于將可執行檔案托管為Windows服務
用法:winsw [/redirect file] <command> [<args>] 。
缺少的引數會觸發服務模式
可用的命令。
install 將服務安裝到Windows服務控制器
uninstall 卸載該服務
start 啟動該服務(必須先安裝)。
stop 停止該服務
stopwait 停止該服務并等待它真正停止
重新啟動 重新啟動服務
重新啟動!自我重新啟動(可以從子行程中呼叫
status 檢查服務的當前狀態
test 檢查服務是否可以被啟動,然后停止
testwait 啟動服務并等待,直到一個鍵被按下然后停止服務
版本 列印版本資訊
help 列印幫助資訊(別名:-h,--help,-?,/?)。
額外選項。
/redirect 將包裝器的STDOUT和STDERR重定向到指定的檔案。
WinSW 2.9.0.0
更多資訊:https://github.com/kohsuke/winsw
錯誤跟蹤器:https://github.com/kohsuke/winsw/issues


