linux(centos8):用systemctl管理war包形式的jenkins(java 14 / jenkins 2.257)
阿新 • • 發佈:2020-09-17
一,如何安裝jenkins?
參見:
https://www.cnblogs.com/architectforest/p/13685904.html
說明:劉巨集締的架構森林是一個專注架構的部落格,地址:https://www.cnblogs.com/architectforest
對應的原始碼可以訪問這裡獲取:https://github.com/liuhongdi/
說明:作者:劉巨集締 郵箱: [email protected]
二,建立管理指令碼
1,把下載好的jenkins的war包移動到軟體的安裝目錄
[root@kubemaster jenkins]# mkdir /usr/local/soft/jenkins [root@kubemaster jenkins]#mv jenkins.war /usr/local/soft/jenkins/
2,在jenkins目錄下建立指令碼:
[root@kubemaster jenkins]# cd /usr/local/soft/jenkins/ [root@kubemaster jenkins]# ls jenkins.war [root@kubemaster jenkins]# vi jenkins.sh [root@kubemaster jenkins]# chmod +x jenkins.sh
指令碼內容:
[root@kubemaster jenkins]# more jenkins.sh #!/bin/bash JAVA_HOME=/usr/local/soft/jdk-14.0.2 pid=`ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print $2}'| wc -l` if [ "$1" = "start" ];then if [ $pid -gt 0 ];then echo 'jenkins is running...' else nohup $JAVA_HOME/bin/java -jar /usr/local/soft/jenkins/jenkins.war --enable-future-java --httpPort=8081 2>&1& fi elif [ "$1" = "stop" ];then exec ps -ef | grep jenkins | grep -v grep | awk '{print $2}'| xargs kill -9 echo 'jenkins is stop..' else echo "Please input like this:"./jenkins.sh start" or "./jenkins stop"" fi
三,測試管理指令碼的效果
1,啟動:
[root@kubemaster jenkins]# ./jenkins.sh start nohup: 把輸出追加到'nohup.out'
檢視埠:
[root@kubemaster jenkins]# ss -lntp State Recv-Q Send-Q Local Address:Port Peer Address:Port ... LISTEN 0 50 *:8081 *:* users:(("java",pid=8412,fd=139))
可以看到8081這個埠已在工作中
2,訪問:
http://127.0.0.1:8081/
返回:
登入訪問即可
3,停止服務:
[root@kubemaster jenkins]# ./jenkins.sh stop 已殺死
四,建立systemd的service服務檔案
1,生成service檔案
[root@kubemaster jenkins]# vi /lib/systemd/system/jenkins.service
service內容:
[root@kubemaster jenkins]# more /lib/systemd/system/jenkins.service [Unit] Description=Jenkins After=network.target [Service] Type=forking ExecStart=/usr/local/soft/jenkins/jenkins.sh start ExecReload= ExecStop=/usr/local/soft/jenkins/jenkins.sh stop PrivateTmp=true [Install] WantedBy=multi-user.target
五,用sytemctl使service生效:
重新載入service
[root@kubemaster jenkins]# systemctl daemon-reload
啟動:
[root@kubemaster jenkins]# systemctl start jenkins
檢視狀態:
[root@kubemaster jenkins]# systemctl status jenkins ● jenkins.service - Jenkins Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2020-09-17 19:14:05 CST; 1min 9s ago Process: 9182 ExecStop=/usr/local/soft/jenkins/jenkins.sh stop (code=killed, signal=KILL) Process: 9235 ExecStart=/usr/local/soft/jenkins/jenkins.sh start (code=exited, status=0/SUCCESS) Main PID: 9242 (java) Tasks: 48 (limit: 23797) Memory: 273.2M CGroup: /system.slice/jenkins.service └─9242 /usr/local/soft/jdk-14.0.2/bin/java -jar /usr/local/soft/jenkins/jenkins.war --enable-future-java --httpPort=8081 9月 17 19:14:10 kubemaster jenkins.sh[9235]: 2020-09-17 11:14:10.820+0000 [id=44] INFO
關閉:
[root@kubemaster jenkins]# systemctl stop jenkins
已殺死
如需讓jenkins自啟動:
[root@kubemaster jenkins]# systemctl enable jenkins
六,檢視java的版本
[root@kubemaster jenkins]# java --version java 14.0.2 2020-07-14 Java(TM) SE Runtime Environment (build 14.0.2+12-46) Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
七,檢視jenkins版本
在登入後首頁的右下角,可以看到當前的版本:2.257
八,檢視linux版本:
[root@kubemaster jenkins]# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core)