CentOs8 安裝 Jenkins 總結
文章目錄
- CentOs8 安裝 Jenkins 總結
-
- 一、版本&安裝
- 二、Jenkins配置
-
- 1. 配置 Java 路徑
- 2. 配置使用者名稱(一定要改成root!!!)
- 3. 啟動 &停止& 重新開機 Jenkins 指令
-
- 1. 啟動
- 2. 停止
- 3. 重新開機
- 三、成功
- 四、問題記錄
-
- 1. 版本過高
- 2. 删除Jenkins
- 3. 删除Java
- 4. Jenkins使用者名沒有用root
- 5. Jenkins啟動成功後,網頁依然無法通路
- 五、疑問
- 六、更新
一、版本&安裝
# 所選版本
jdk-8u361-linux-x64.rpm
jenkins-2.164.1-1.1.noarch.rpm
rpm -ivh *
二、Jenkins配置
1. 配置 Java 路徑
在 /etc/rc.d/init.d/jenkins/candidates
中可以看到安裝的Jenkins适配什麼Java版本,比如能看出來我安裝的 Jenkins 适配 Java1.7 和 Java1.8
vim /etc/rc.d/init.d/jenkins
# 找到如下部分,修改 Java 路徑,注釋掉其他
# 通過指令 which Java 檢視 Java 路徑
candidates="
#/etc/alternatives/java
#/usr/lib/jvm/java-1.8.0/bin/java
#/usr/lib/jvm/jre-1.8.0/bin/java
#/usr/lib/jvm/java-1.7.0/bin/java
#/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
"
2. 配置使用者名稱(一定要改成root!!!)
使用者預設是,将
Jenkins
的值改成
JENKINS_USER
,如果不是
root
就會啟動失敗;我一開始用的
root
,在啟動環節瘋狂報錯
admin
vim /etc/sysconfig/jenkins
# 隻改 JENKINS_USER
JENKINS_HOME="/var/lib/jenkins"
JENKINS_JAVA_CMD=""
JENKINS_USER="root"
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_ARGS=""
3. 啟動 &停止& 重新開機 Jenkins 指令
1. 啟動
systemctl start jenkins
2. 停止
systemctl stop jenkins
3. 重新開機
systemctl restart jenkins
三、成功
啟動後通路
IP:8080

四、問題記錄
1. 版本過高
All illegal access operations will be denied in a future release
啟動後出現Java非法通路,我用的Java11出現,降低版本後錯誤改變,如有知曉解決,望留言,還請不吝賜教
2. 删除Jenkins
systemctl stop jenkins.service
rpm -e jenkins
rpm -qa | grep jenkins # 檢視是否還有jenkins依賴,有就删除
rm -rf /etc/sysconfig/jenkins.rpmsave
rm -rf /var/cache/jenkins/
rm -rf /var/lib/jenkins/
rm -rf /var/log/jenkins
rm -rf /usr/lib/jenkins
3. 删除Java
# 檢視系統中預設安裝的jdk:
rpm -qa|grep jdk
yum -y remove java-11-openjdk*
4. Jenkins使用者名沒有用root
# 啟動報錯
[[email protected] ~]# systemctl start jenkins
Job for jenkins.service failed because the control process exited with error code.
See "systemctl status jenkins.service" and "journalctl -xe" for details.
# 檢視具體報錯内容
[[email protected] ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
Active: failed (Result: exit-code) since Fri 2023-02-24 00:32:56 CST; 37s ago
Docs: man:systemd-sysv-generator(8)
Process: 1926718 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)
Main PID: 1921125 (code=exited, status=1/FAILURE)
Feb 24 00:32:56 test systemd[1]: Starting LSB: Jenkins Automation Server...
Feb 24 00:32:56 test jenkins[1926718]: Starting Jenkins runuser: user admin does not exist
Feb 24 00:32:56 test jenkins[1926718]: [FAILED]
Feb 24 00:32:56 test systemd[1]: jenkins.service: Control process exited, code=exited stat>
Feb 24 00:32:56 test systemd[1]: jenkins.service: Failed with result 'exit-code'.
Feb 24 00:32:56 test systemd[1]: Failed to start LSB: Jenkins Automation Server.
lines 1-13/13 (END)...skipping...
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
Active: failed (Result: exit-code) since Fri 2023-02-24 00:32:56 CST; 37s ago
Docs: man:systemd-sysv-generator(8)
Process: 1926718 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)
Main PID: 1921125 (code=exited, status=1/FAILURE)
Feb 24 00:32:56 test systemd[1]: Starting LSB: Jenkins Automation Server...
Feb 24 00:32:56 test jenkins[1926718]: Starting Jenkins runuser: user admin does not exist
Feb 24 00:32:56 test jenkins[1926718]: [FAILED]
Feb 24 00:32:56 test systemd[1]: jenkins.service: Control process exited, code=exited status=1
Feb 24 00:32:56 test systemd[1]: jenkins.service: Failed with result 'exit-code'.
Feb 24 00:32:56 test systemd[1]: Failed to start LSB: Jenkins Automation Server.
将使用者名改成
root
解決
# 成功啟動
[[email protected] ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
Active: active (exited) since Fri 2023-02-24 09:45:20 CST; 24s ago
Docs: man:systemd-sysv-generator(8)
Process: 2006574 ExecStop=/etc/rc.d/init.d/jenkins stop (code=exited, status=0/SUCCESS)
Process: 2006588 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
Main PID: 1921125 (code=exited, status=1/FAILURE)
Feb 24 09:45:20 test systemd[1]: jenkins.service: Succeeded.
Feb 24 09:45:20 test systemd[1]: Stopped LSB: Jenkins Automation Server.
Feb 24 09:45:20 test systemd[1]: Starting LSB: Jenkins Automation Server...
Feb 24 09:45:20 test runuser[2006595]: pam_unix(runuser:session): session opened for user root by (uid=0)
Feb 24 09:45:20 test runuser[2006595]: pam_unix(runuser:session): session closed for user root
Feb 24 09:45:20 test jenkins[2006588]: Starting Jenkins [ OK ]
Feb 24 09:45:20 test systemd[1]: Started LSB: Jenkins Automation Server.
5. Jenkins啟動成功後,網頁依然無法通路
可以說這是我遇見的最後一個坑了,您猜怎麼着,在騰訊雲防火牆加一下8080的規則就好了;以後一定記得維護安全組的端口
五、疑問
經過很久的折騰,我在想一個問題,如果一開始我用
root
當使用者名,即使用的
Java11
以及最新版
Jenkins
,啟動時出現
Java
的非法通路警告,是否也能正常啟動
Jenkins
?可惜我沒有機器再讓我嘗試了,将這個疑問留存,下次我去嘗試一下。有讀者知道問題所在,還請您不吝賜教。
六、更新
2023年2月24日 19:09:57
2.164版本
UI
有點簡陋,并且安裝插件總是彈出警告的字眼,略微煩躁,索性删了改用
JDK17
&
jenkins-2.361.1
,安裝方式和配置操作不變,很流暢,先停了服務,再用上面的指令解除安裝
JDK
和
Jenkins
jdk-8u361-linux-x64.rpm
jenkins-2.164.1-1.1.noarch.rpm
jdk-17_linux-x64_bin.rpm
jenkins-2.361.1-1.1.noarch.rpm
更新到了 jenkins-2.375.3-1.1
jenkins-2.375.3-1.1.noarch.rpm