天天看点

CI/CD学习笔记-jenkins安装

本实验按照下面的流程,在前面我们已经安装了gitlab server,maven。

CI/CD学习笔记-jenkins安装

现在安装jenkins

官网给出了简单安装的方法,在jenkins的官网下载页面https://www.jenkins.io/download/按需选择LTS版本,我们选择CentOS版本

CI/CD学习笔记-jenkins安装

然后官网给出了简单安装步骤

CI/CD学习笔记-jenkins安装

安装

[[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

CI/CD学习笔记-jenkins安装

[[email protected] ~]# cat /var/lib/jenkins/secrets/initialAdminPassword

7ccfb6ff70374891a83cc0d127568a08

jenkins配置

查看到默认密码后,进入到geting started

CI/CD学习笔记-jenkins安装

选择推荐的插件

CI/CD学习笔记-jenkins安装

如果在国内,这个过程很慢,也容易出现离线提示。

解决方法:

1、修改 /var/lib/jenkins/updates/default.json

jenkins 在下载插件之前会先检查网络连接,其会读取这个文件中的网址。默认是访问谷歌,肯定监测失败,所以将图下的google改为www.bing.com即可,更改完重启服务。

CI/CD学习笔记-jenkins安装

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

在修复完之后,我们发现离线问题已经解决。

建立一个管理员账户后,确认结束

CI/CD学习笔记-jenkins安装
CI/CD学习笔记-jenkins安装

配置全局变量

System Configuration–> Global Tool Configuration

CI/CD学习笔记-jenkins安装
CI/CD学习笔记-jenkins安装

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