Centos
如何在 Systemd 上使用 Jenkins 自動重啟
我讓 Jenkins 在 CentOS7 上執行,它有時會崩潰,我想在發生這種情況時自動重新啟動它。Google了一下我發現在 Systemd 上你可以使用 Restart=on-failure 但問題是從我看到的詹金斯不使用服務文件。
如果我做 systemctl status jenkins.service 我得到:
● jenkins.service - LSB: Jenkins Continuous Integration Server Loaded: loaded (/etc/rc.d/init.d/jenkins) Active: active (running) since Mon 2016-02-29 17:30:08 UTC; 11min ago
所以看起來它仍在使用init.d?
Restart=on-failure
知道在這種情況下如何使用它嗎?
作為一個完全可怕的 kluge,您可以指向
systemd
jenkins init 腳本,因為該腳本有一大堆煩人的“Java 在哪裡”和其他程式碼來弄清楚如何讓 jenkins 啟動和執行。# cat /etc/systemd/system/jenkins.service [Unit] Description=Jenkins Server Daemon Wants=network-online.target After=network-online.target [Service] ExecStart=/etc/init.d/jenkins start Restart=always RestartSec=3 Type=forking [Install] WantedBy=multi-user.target # systemctl enable jenkins.service
然後該服務在重新啟動時啟動,未被 列出
chkconfig --list
,並且即使您kill -9 $thepid
在理想情況下長期重新啟動,對於詹金斯人來說,更好的選擇是在他們的 RPM 中包含對 systemd 的直接支持……