本实验按照下面的流程,在前面我们已经安装了gitlab server。
现在安装jenkins
官网给出了简单安装的方法,在jenkins的官网下载页面https://www.jenkins.io/download/按需选择LTS版本,我们选择CentOS版本
然后官网给出了简单安装步骤
安装
[root@jenkins ~]# **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]
[root@jenkins ~]# **sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key**
[root@jenkins ~]# **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安装包内容
[root@jenkins ~]# 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依赖
[root@jenkins ~]# 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)
[root@jenkins ~]# **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没有安装
[root@jenkins ~]# java -version
bash: java: command not found...
[root@jenkins ~]# 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
[root@jenkins ~]# 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)
[root@jenkins ~]# ll /usr/bin/java
lrwxrwxrwx. 1 root root 22 Jul 18 06:57 /usr/bin/java -> /etc/alternatives/java
启动jenkins
[root@jenkins ~]# **systemctl start jenkins.service**
[root@jenkins ~]# **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进程
[root@jenkins ~]# 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端口
[root@jenkins ~]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 33504 jenkins 25u IPv6 92503 0t0 TCP *:webcache (LISTEN)
在客户端打开jenkins
[root@jenkins ~]# 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查找
[root@jenkins local]# which java
/usr/bin/java
[root@jenkins local]# ll /usr/bin/java
lrwxrwxrwx. 1 root root 22 Jul 18 06:57 /usr/bin/java -> /etc/alternatives/java
[root@jenkins 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
[root@jenkins local]# which git
/usr/bin/git