Jenkins是一款使用Java开发的、开源的,项目持续集成工具。

1.安装前环境

1.1.1 JDK安装

JDK1.8
提取码:t4c3
(1)解压

tar -zxvf  jdk-8u231-linux-x64.tar.gz

(2)配置环境变量

# 编辑profile文件
vim /etc/profile 

添加内容如下:

export JAVA_HOME=/java/jdk8
export CLASSPATH=.:$JAVA_HOME/lib/dt.:jar$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

注意:按照自己的实际java解压路径来填写。

1.1.2 Maven

Maven
提取码:98ut
(1)解压

tar -zxvf apache-maven-3.8.5-bin.tar.gz

(2)配置settings.xml文件

# 进入 解压后maven的conf文件夹(操作时根据自己实际的加压路径)
cd /maven/conf


# 编辑 settings.xml文件
vim setttings.xml


# 添加镜像 这样下载依赖(jar包)时会很快
<mirrors>
   <mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
  </mirror>
</mirrors>

注意:按照自己的实际maven解压路径来填写。

1.1.3 git

直接使用命令进行安装

yum install git 

2.Jenkins安装

1.1 通过war安装Jenkins

Jenkins.war
提取码:wkjn
(1)启动Jenkins
因为我们在安装前环境中已经安装了JDK,所以直接运行Jenkin的War包即可:

nohup java -jar jenkins.war & #后台运行

(2)访问Jenkins
默认端口号为8080,在浏览器输入ip地址+8080端口即可:

在这里插入图片描述
根据页面提示去linux系统中对应的文件目录下找管理员密码。
(3)安装插件、管理用户、配置实例
在这里插入图片描述
这里选择安装推荐的插件,使用war包运行的情况下,不会出现安装推荐插件失败的情况。
在这里插入图片描述
在这里插入图片描述
到此通过war包的方式安装Jenkins已经完成。
需要特别注意:通过war包的方式安装Jenkins,Jenkins的workspace文件夹和其他文件都是在下面的目录下:

/root/.jenkins/

1.2 通过命令进行安装

(1)下载

wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.190.3-1.1.noarch.rpm

(2)安装

rpm -ivh jenkins-2.190.3-1.1.noarch.rpm

(3)修改配置
修改Jenkins的JDK路径为自己安装的JDK路径。命令如下:

cd /etc/init.d/
vim jenkins

在这里插入图片描述
(4)运行Jenkins 查看状态

systemctl start jenkins #运行
systemctl status jenkins #查看状态

显示下面的标识正在运行:
在这里插入图片描述
后续的步骤和运行war包的一致。
需要特别注意:通过命令行安装的Jenkins的配置文件和workspace文件夹都是在下面的目录下:

cd /var/lib/jenkins/

Jenkins的配置文件在:

/etc/sysconfig/jenkins

3.Jenkins安装可能遇到的问题

3.1 无法安装安装推荐的插件

(1)问题描述

通过wget命令行下载Jenkins并安装,会出现无法安装插件的问题:

Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed unable to find valid certification path to requested target

或者是:

There were errors checking the update sites: SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification 

(2)问题原因

这是因为请求是SSL证书的问题。

(3)问题解决

进入Jenkins的JENKINS_HOME目录:

/var/lib/jenkins/

找到该目录中的hudson.model.UpdateCenter.xml:
在这里插入图片描述
修改成以下所示:

<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>

返回上一级,找到updates文件夹,然后修改default.json文件,将文件中的所有

 http://updates.jenkins-ci.org/download

替换成

 https://mirrors.tuna.tsinghua.edu.cn/jenkins

http://www.google.com

替换成:

http://www.baidu.com

登陆Jenkins在系统管理 ->插件管理->高级,配置下站点:
在这里插入图片描述

https://updates.jenkins.io/update-center.json

然后再去下载插件。
当然即使配置上面的东西,也会出现下载错误的插件,但是比较少,下面可以把失败的个别插件从Jenkinsc官网插件页面,下载后放到Jenkins中即可。例如:
在这里插入图片描述
搜索下载失败的插件:
在这里插入图片描述
选择对应的版本(有的版本可能不兼容Jenkins的版本需要升级Jenkins版本)
在这里插入图片描述
登陆Jenkins在系统管理 ->插件管理->高级中上传插件:
在这里插入图片描述

4. 配置一个Maven项目

下面我以放到Gitee上面的代码作为例子:

4.1 下载Gitee和Maven插件

登陆Jenkins系统管理 ->插件管理
这里我已安装过了,如果安装的话需要到 可选插件中搜索对应的插件名称进行安装。
在这里插入图片描述
在这里插入图片描述

4.2 创建Maven项目

新建任务
在这里插入图片描述

在这里插入图片描述

4.3 配置项目

4.3.1 全局工具配置

在这里插入图片描述

(1)配置maven、JDK、git
在这里插入图片描述
在这里插入图片描述

maven、JDK、git路径就是安装的路径。

4.3.2 系统配置

在这里插入图片描述
(1)Gitee配置
在这里插入图片描述
那么如何获取Gitee的令牌呢?
登陆Gitee -> 设置 -> 私人令牌
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后提交。
在这里插入图片描述
复制令牌。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3.3 项目配置

(1)Gitee链接
此处选择在系统配置中配置的Gitee链接。
在这里插入图片描述
(2)源码管理

  • 仓库URL:就是Gitee上面你的仓库地址。
  • Credentials认证信息:填写的就是 上面配置的GiteeAPI令牌。
  • 分支:你需要Jenkins管理的分支是哪个。根据自己实际情况填写
    在这里插入图片描述
    (3)构建触发器
    在这里插入图片描述
    (4)构建环境
    在这里插入图片描述
    (4)前置步骤(Pre Steps)
    在这里插入图片描述
    (5)Build(重点)
    使用Maven来构建项目,命令是:
clean install -Dmaven.test.skip=true

在这里插入图片描述
(5)Post Steps(重点)
添加 执行shell
在这里插入图片描述
在这里插入图片描述

shell脚本解释:

cd /java/project/ # 进入存放项目的文件夹(自定义的)
sh stop.sh # 停止正在运行的旧版本项目 shell脚本
sh replace.sh # 替换编译后的jar包 shell脚本
#启动新编译打包的项目
BUILD_ID=dontKillMe nohup java -jar /java/project/编译后包的名称.jar & 

stop.sh 和 replace.sh 内容:

#stop.sh
#找到正在运行旧项目的 编号
#然后停止
pid=`ps -ef | grep 编译后的jar包的名称 | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
#replate.sh
#判断指定路径下的jar包是否存在
#如果存在,更名备份
#将Jenkins打包编译后的项目移动到指定的项目目录下
file="/java/project/编译后包的名称.jar"
if [ -f "$file" ]
then
   mv /java/project/编译后包的名称.jar /java/project/编译后包的名称.jar.`date +%Y%m%d%H%M%S`
fi
   mv /root/.jenkins/workspace/项目名称/target/编译后包的名称.jar /java/project/

(6)保存配置。

5.构建项目

在这里插入图片描述
查看构建日志:
![在这里插入图片描述](https://img-blog.csdnimg.cn/0ecd236d95504488a2ced0238b40a89a.png在这里插入图片描述

在这里插入图片描述

6. 总结

Jenkins构建项目并运行的流程如下:
在这里插入图片描述

  • 通过运行war包安装的Jenkins,编译后的包是在/root/.jenkins/workspace/下面。
  • 通过命令安装的Jenkins,编译后的包是在/var/lib/jenkins/workspace/下面
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐