天天看點

CentOs8 安裝Jenkins一系列問題總結CentOs8 安裝 Jenkins 總結

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

CentOs8 安裝Jenkins一系列問題總結CentOs8 安裝 Jenkins 總結

四、問題記錄

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的規則就好了;以後一定記得維護安全組的端口

CentOs8 安裝Jenkins一系列問題總結CentOs8 安裝 Jenkins 總結

五、疑問

經過很久的折騰,我在想一個問題,如果一開始我用

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

CentOs8 安裝Jenkins一系列問題總結CentOs8 安裝 Jenkins 總結
更新到了 jenkins-2.375.3-1.1

jenkins-2.375.3-1.1.noarch.rpm

CentOs8 安裝Jenkins一系列問題總結CentOs8 安裝 Jenkins 總結