添加启动停止脚本
启动命令运行时间长,需要在后面加上 & ,放到后台运行,以免执行systemctl start 的时候超时退出

root@joyber-ubuntu:bin# cat startup.sh 

#!/bin/bash
java -jar /usr/lib/jenkins/jenkins.war --httpPort=8080 &

#java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=8080 &

#daemon --user "jenkins" --pidfile "/var/run/jenkins.pid" "/usr/lib/jvm/jdk-21-oracle-x64/bin/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war" --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war  --httpPort=8080 > /dev/null &


root@joyber-ubuntu:bin# cat shutdown.sh 

#/bin/bash
# 使用fuser关闭占用端口的程序
fuser -k 8080/tcp

root@joyber-ubuntu:bin# cat restart.sh 

#/bin/bash
./shutdown.sh
./startup.sh

添加的这三个脚本需要有执行权限:

chmod a+x ./*.sh

添加systemctl管理脚本

root@joyber-ubuntu:jenkins# cat /usr/lib/systemd/system/jenkins.service

[Unit]
Description=jenkins
After=network.target
 
[Service]
Type=forking
#PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/root/.jenkins/bin/startup.sh
ExecReload=/root/.jenkins/bin/restart.sh
ExecStop=/root/.jenkins/bin/shutdown.sh
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

开启系统自动开机启动,以及启动程序与停止程序

systemctl enable jenkins

systemctl start jenkins
systemctl reload jenkins
systemctl stop jenkins

标签: none

添加新评论