本實驗按照下面的流程,在前面我們已經安裝了gitlab server,maven。

現在安裝jenkins
官網給出了簡單安裝的方法,在jenkins的官網下載下傳頁面https://www.jenkins.io/download/按需選擇LTS版本,我們選擇CentOS版本
然後官網給出了簡單安裝步驟
安裝
[[email protected] ~]# sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
–2021-07-18 06:52:20-- https://pkg.jenkins.io/redhat-stable/jenkins.repo
Resolving pkg.jenkins.io (pkg.jenkins.io)… 151.101.206.133, 2a04:4e42:30::645
Connecting to pkg.jenkins.io (pkg.jenkins.io)|151.101.206.133|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 85
Saving to: ‘/etc/yum.repos.d/jenkins.repo’
/etc/yum.repos.d/jenkins.repo 100%[=====================================================>] 85 --.-KB/s in 0s
2021-07-18 06:52:20 (2.72 MB/s) - ‘/etc/yum.repos.d/jenkins.repo’ saved [85/85]
[[email protected] ~]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[[email protected] ~]# yum install -y jenkins
CentOS Linux 8 - AppStream 7.1 MB/s | 8.1 MB 00:01
CentOS Linux 8 - BaseOS 3.0 MB/s | 3.6 MB 00:01
CentOS Linux 8 - Extras 12 kB/s | 9.8 kB 00:00
Jenkins-stable 18 kB/s | 21 kB 00:01
Dependencies resolved.
==============================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================
Installing:
jenkins noarch 2.289.2-1.1 jenkins 71 M
Transaction Summary
==============================================================================================================================
Install 1 Package
Total download size: 71 M
Installed size: 71 M
Downloading Packages:
jenkins-2.289.2-1.1.noarch.rpm 14 MB/s | 71 MB 00:05
Total 14 MB/s | 71 MB 00:05
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: jenkins-2.289.2-1.1.noarch 1/1
Installing : jenkins-2.289.2-1.1.noarch 1/1
Running scriptlet: jenkins-2.289.2-1.1.noarch 1/1
Verifying : jenkins-2.289.2-1.1.noarch 1/1
Installed products updated.
Installed:
jenkins-2.289.2-1.1.noarch
Complete!
jenkins安裝包内容
[[email protected] ~]# rpm -ql jenkins
/etc/init.d/jenkins # 啟動檔案
/etc/logrotate.d/jenkins # 日志分割配置檔案
/etc/sysconfig/jenkins # jenkins主配置檔案
/usr/lib/jenkins # 存放war包目錄
/usr/lib/jenkins/jenkins.war # war 包
/usr/sbin/rcjenkins # 指令
/var/cache/jenkins # war包解壓目錄 jenkins網頁代碼目錄
/var/lib/jenkins # jenkins 工作目錄
/var/log/jenkins # 日志
主配置檔案
JENKINS_HOME="/var/lib/jenkins" # jenkins工作目錄
JENKINS_JAVA_CMD=""
JENKINS_USER=“jenkins” # jenkinx啟動使用者
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=""
Java依賴
[[email protected] ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
Active: inactive (dead)
Docs: man:systemd-sysv-generator(8)
[[email protected] ~]# systemctl start jenkins.service
Job for jenkins.service failed because the control process exited with error code.
See “systemctl status jenkins.service” and “journalctl -xe” for details.
發現無法啟動jenkins,這是因為java沒有安裝
[[email protected] ~]# java -version
bash: java: command not found…
[[email protected] ~]# yum install -y java
Last metadata expiration check: 0:04:48 ago on Sun 18 Jul 2021 06:52:50 AM PDT.
Dependencies resolved.
==============================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================
Installing:
java-1.8.0-openjdk x86_64 1:1.8.0.292.b10-1.el8_4 appstream 335 k
Installing dependencies:
copy-jdk-configs noarch 3.7-4.el8 appstream 27 k
java-1.8.0-openjdk-headless x86_64 1:1.8.0.292.b10-1.el8_4 appstream 34 M
javapackages-filesystem noarch 5.3.0-1.module_el8.0.0+11+5b8c10bd appstream 30 k
lksctp-tools x86_64 1.0.18-3.el8 baseos 100 k
ttmkfdir x86_64 3.0.9-54.el8 appstream 62 k
tzdata-java noarch 2021a-1.el8 appstream 192 k
xorg-x11-fonts-Type1 noarch 7.5-19.el8 appstream 522 k
Enabling module streams:
javapackages-runtime 201801
Transaction Summary
==============================================================================================================================
Install 8 Packages
Total download size: 35 M
Installed size: 119 M
Downloading Packages:
(1/8): copy-jdk-configs-3.7-4.el8.noarch.rpm 171 kB/s | 27 kB 00:00
(2/8): javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch.rpm 303 kB/s | 30 kB 00:00
(3/8): java-1.8.0-openjdk-1.8.0.292.b10-1.el8_4.x86_64.rpm 1.0 MB/s | 335 kB 00:00
(4/8): ttmkfdir-3.0.9-54.el8.x86_64.rpm 589 kB/s | 62 kB 00:00
(5/8): tzdata-java-2021a-1.el8.noarch.rpm 3.3 MB/s | 192 kB 00:00
(6/8): xorg-x11-fonts-Type1-7.5-19.el8.noarch.rpm 3.1 MB/s | 522 kB 00:00
(7/8): lksctp-tools-1.0.18-3.el8.x86_64.rpm 205 kB/s | 100 kB 00:00
(8/8): java-1.8.0-openjdk-headless-1.8.0.292.b10-1.el8_4.x86_64.rpm 25 MB/s | 34 MB 00:01
…
Installed:
copy-jdk-configs-3.7-4.el8.noarch
java-1.8.0-openjdk-1:1.8.0.292.b10-1.el8_4.x86_64
java-1.8.0-openjdk-headless-1:1.8.0.292.b10-1.el8_4.x86_64
javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch
lksctp-tools-1.0.18-3.el8.x86_64
ttmkfdir-3.0.9-54.el8.x86_64
tzdata-java-2021a-1.el8.noarch
xorg-x11-fonts-Type1-7.5-19.el8.noarch
Complete!
檢視java
[[email protected] ~]# java -version
openjdk version “1.8.0_292”
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
[[email protected] ~]# ll /usr/bin/java
lrwxrwxrwx. 1 root root 22 Jul 18 06:57 /usr/bin/java -> /etc/alternatives/java
啟動jenkins
[[email protected] ~]# systemctl start jenkins.service
[[email protected] ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
Active: active (running) since Sun 2021-07-18 07:02:26 PDT; 12s ago
Docs: man:systemd-sysv-generator(8)
Process: 33481 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
Tasks: 42 (limit: 23360)
Memory: 389.7M
CGroup: /system.slice/jenkins.service
└─33504 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/>
Jul 18 07:02:24 jenkins systemd[1]: Starting LSB: Jenkins Automation Server…
Jul 18 07:02:24 jenkins runuser[33488]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Jul 18 07:02:26 jenkins runuser[33488]: pam_unix(runuser:session): session closed for user jenkins
Jul 18 07:02:26 jenkins jenkins[33481]: Starting Jenkins [ OK ]
Jul 18 07:02:26 jenkins systemd[1]: Started LSB: Jenkins Automation Server.
檢視jenkins程序
[[email protected] ~]# ps -ef|grep jenkins
jenkins 33504 1 99 07:02 ? 00:00:44 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -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 --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
root 33588 3469 0 07:03 pts/0 00:00:00 grep --color=auto jenkins
檢視8080端口
[[email protected] ~]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 33504 jenkins 25u IPv6 92503 0t0 TCP *:webcache (LISTEN)
在用戶端打開jenkins
[[email protected] ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
7ccfb6ff70374891a83cc0d127568a08
jenkins配置
檢視到預設密碼後,進入到geting started
選擇推薦的插件
如果在國内,這個過程很慢,也容易出現離線提示。
解決方法:
1、修改 /var/lib/jenkins/updates/default.json
jenkins 在下載下傳插件之前會先檢查網絡連接配接,其會讀取這個檔案中的網址。預設是通路谷歌,肯定監測失敗,是以将圖下的google改為www.bing.com即可,更改完重新開機服務。
2、 修改/var/lib/jenkins/hudson.model.UpdateCenter.xml
該檔案為jenkins下載下傳插件的源位址,改位址預設jenkins預設為:https://updates.jenkins.io/update-center.json,就是因為https的問題,此處我們将其改為http即可,之後重新開機jenkins服務即可。
當然,也可以選擇使用其他國内備用源位址:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
http://mirror.esuni.jp/jenkins/updates/update-center.json
在修複完之後,我們發現離線問題已經解決。
建立一個管理者賬戶後,确認結束
配置全局變量
System Configuration–> Global Tool Configuration
JDK home查找
[[email protected] local]# which java
/usr/bin/java
[[email protected] local]# ll /usr/bin/java
lrwxrwxrwx. 1 root root 22 Jul 18 06:57 /usr/bin/java -> /etc/alternatives/java
[[email protected] local]# ll /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Jul 18 06:57 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el8_4.x86_64/jre/bin/java
JDK home:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el8_4.x86_64
Path to Git executable
[[email protected] local]# which git
/usr/bin/git