Jenkins简介+安装(普通方式yum+rpm选择指定版本和Docker方式)+卸载

简介

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:

  • 持续的软件版本发布/测试项目。
  • 监控外部调用执行的工作。

建议一定要看官方文档来学习

开始地址:https://www.jenkins.io/zh/doc/pipeline/tour/getting-started/

在Linux系统中安装

首先需要了解下,Jenkins通常作为一个独立的应用程序在其自己的流程中运行, 内置Java servlet 容器/应用程序服务器(Jetty)

Jenkins也可以运行在不同的Java servlet容器((如Apache TomcatGlassFish))中作为servlet运行

那么就是Jenkins可独立部署(内置了Jetty),也可以通过放入Tomcat中进行部署。

安装的方式:

  • 普通安装(.war文件、yum等)
  • Docker安装

本篇文章给介绍下yum和rpm和docker方式。

普通安装(yum安装最新版+踩坑日记)

在安装前需要注意,你的计算机是否有相关的依赖环境,需要用到:JDK/JRE

此方式是最新版,如果要下载指定版本,此段内容可跳过

安装步骤:

yum的repos中默认是没有Jenkins的,需要先将Jenkins存储库添加到yum repos,然后通过yum进行安装

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

yum install jenkins

需要注意:如果出现了证书过期

jenkins和nexus配置 jenkins cnpm_jenkins和nexus配置

可以使用

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

yum install jenkins

或者安装ca-certificates后,再重试最上面的命令

yum install -y ca-certificates

启动systemctl status jenkins,发现报错

jenkins和nexus配置 jenkins cnpm_Jenkins_02

没有详细的报错信息,网上查阅资料,/etc/init.d下的jenkins文件中增加现有jdk的路径

jenkins和nexus配置 jenkins cnpm_docker_03

增加完毕后,执行systemctl daemon-reload,然后再次systemctl start jenkins,发现还是不行

直接到/etc/init.d/下面,执行./jenkins start,然后出现详细报错

jenkins和nexus配置 jenkins cnpm_docker_04

噢噢,原来是java的版本和jenkins不兼容,执行安装下java11

yum install fontconfig java-11-openjdk
jenkins的目录

如果要卸载jenkins,通过yum remove jenkins命令后,还需要将这些目录及文件全部删除,达到完全卸载

Jenkins安装目录:

/var/lib/jenkins/

Jenkins配置文件地址:

/etc/sysconfig/jenkins

用vim 编辑/etc/sysconfig/jenkins文件(默认用户是jenkins 用户,建议改成root用户,不然用jenkins执行脚本的时候会有权限问题),也可以将jenkins的端口在此文件中进行修改.

jenkins和nexus配置 jenkins cnpm_Jenkins_05

跑起来jenkins吧,systemctl start jenkins,注意下,如果初次使用systemctl启动jenkins时命令行卡住,那么你可以重新打开一个shell命令行窗口即可。

访问下试试, http://ip:8080/

解锁

访问下jenkins看看,然后开始解锁

jenkins和nexus配置 jenkins cnpm_Jenkins_06

可以去上面的/root/.jenins/secrets/initialAdminPassword里面找

解锁后,它会让我们选择使用推荐的插件,还是自定义的

jenkins和nexus配置 jenkins cnpm_jenkins和nexus配置_07

一般情况选择推荐的即可。

普通安装(rpm使用java8方式)—推荐

通常我们想要使用java8方式,而不是使用java11,那么就需要下载一个兼容java8的jenkins的版本。

jenkins和nexus配置 jenkins cnpm_jenkins_08

使用jenkins-2.328-1.1.noarch.rpm

可以去清华大学开源软件镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

将下载好的rpm包上传到linux,进入到刚才上传的rpm包所在的目录,执行安装命令:

rpm -ivh jenkins-2.328-1.1.noarch.rpm

错误:依赖检测失败:

如果报错:daemonize 被 jenkins-2.328-1.1.noarch 需要

安装下再重新尝试安装jenkins即可

# 安装 epel-release
yum  -y install epel-release
# 安装 daemonize
yum -y install daemonize

安装完毕后,像上文中改一下jenkins的配置文件(/etc/sysconfig/jenkins),然后启动即可。

执行后报错,再去/etc/init.d/中执行./jenkins start,发现报错:Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录

我们可以给/usr/bin/java设置个软连接,或者直接去/etc/init.d下的jenkins文件中增加现有jdk的路径都可以,我这里就增加个路径吧

/etc/init.d下的jenkins文件

jenkins和nexus配置 jenkins cnpm_运维_09

增加完毕后,执行systemctl daemon-reload,然后再次systemctl start jenkins

如果还是不行,但是再次通过./jenkins start能启动成功,那么你就重新打开一个shell窗口再次启动即可。

jenkins卸载

# rpm卸载
rpm -e jenkins

# 检查是否卸载成功
rpm -ql jenkins
# 彻底删除残留文件
find / -iname jenkins | xargs -n 1000 rm -rf

Docker安装

需要先安装好Docker,可以看这篇文章Docker下载安装

  • 创建好要挂载的目录,并且给权限
mkdir -p /opt/jenkens
chmod 777 /opt/jenkens
  • 创建启动jenkins容器

-d 后台运行镜像

-p 8080:8080 将镜像的8080端口映射到服务器的8080端口。

-p 500001:50000 将镜像的50000端口映射到服务器的500001端口

-v /opt/jenkens:var/jenkins_home,其中 /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /opt/jenkens目录

–name jenkins 给容器起一个别名

docker run -u root \
-d \
-p 8080:8080 \	# 访问端口
-p 50000:50000 \
-v /opt/jenkins:/var/jenkins_home \ # 挂载jenkins工作目录
-v /var/run/docker.sock:/var/run/docker.sock \ # docker网络
-v /root/app/maven/maven3.8:/usr/local/maven \ # 挂载maven安装目录,当需要部署maven项目时需要设置
-v /etc/localtime:/etc/localtime:ro \ # 同步时间
--name jenkins \	# 别名
jenkinsci/blueocean # 镜像

以上作为参考,提供一个可以拷贝的

docker run -u root \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v /opt/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/app/maven/maven3.8:/usr/local/maven \
-v /etc/localtime:/etc/localtime:ro \
--name jenkins \
jenkinsci/blueocean

创建容器并且启动成功后,到宿主机/opt/jenkins中去查找解锁的密码即可。

选择安装推荐插件,安装完毕后,创建个用户即可使用了。

jenkins和nexus配置 jenkins cnpm_jenkins_10

Dcoker方式如果要卸载,直接将挂载的所有目录删除,然后将容器删了就行了。