Jenkins 持续集成环境搭建

Jenkins 持续集成环境搭建

官方文档:https://jenkins.io/zh/doc/

1、CentOS 7.4 安装过程

首先,从官网https://jenkins.io/zh/download/ 下载 Red Had/Fedora/CentOS版本的Jenkins,这里以 jenkins-2.183-1.1.noarch.rpm 为例。
然后,由于jenkins运行需要JDK,所以根据官方要求,要先安装JDK1.8
最后,安装 Jenkins-2.183,流程如下:
1)、上传安装包到 CentOS 7.4的系统环境中
2)、执行 rpm 包安装命令 (#其中i表示安装,v表示显示安装过程,h表示显示进度):

sudo rpm -ivh jenkins-2.183-1.1.noarch.rpm

执行结果如图所示:
在这里插入图片描述
3)、启动 Jenkins

sudo service jenkins start

执行结果如下:
在这里插入图片描述
4)、根据启动报错的提醒信息,发现jenkins启动时无法找到jdk,故需要手动调整java配置,打开 配置文件 vi /etc/rc.d/init.d/jenkins ,并在 candidates=""属性中添加当前系统的jdk安装目录
在这里插入图片描述
注意:如果不知道本机jdk安装目录,可以通过whereis java进行查找。

5)、重新启动jenkins,这次可以正常启动成功,可通过ip:port模式初始化配置。

以下列表记录jenkins的 命令 和 目录结构

常用命令如下:
sudo service jenkins start #启动
sudo service jenkins stop #停止
sudo service jenkins restart #重启

常用目录如下
/etc/init.d/jenkins #启动文件
/etc/sysconfig/jenkins #配置文件
/usr/lib/jenkins/jenkins.war #war包存放路径
/var/cache/jenkins #war包解压的缓存目录
/var/lib/jenkins #jenkins 主目录
/var/log/jenkins #jenkins 日志目录

注意/var/lib/jenkins/workspace/ 目录为jenkins 任务的根目录,具体项目会根据任务目录结构构建目录。例如:有一个 tysite 文件夹下的tysite-spark,需要从git上拉取项目,那么任务执行后,将会把git项目下载到/var/lib/jenkins/workspace/tysite/tysite-spark,而该任务中的操作目录皆以此目录开始。

2、Jenkins 基础配置

1)、Jenkins 默认的 访问端口为 8080,采用ip:port 模式,通过浏览器访问jenkins。
2)、浏览器首次打开时,jenkins会进入自动配置模式,配置完成后打开解锁页面
秘钥添加
3)、根据页面提醒,访问提示文件,获取秘钥,录入后点击【继续】按钮。
4)、继续加载后,系统进入插件安装界面,我们选择安装推荐的插件
插件安装
5)、完成后自动进入管理员账号创建界面。
6)、设置完成后,提示用户设置配置目录,默认即可,点击完成按钮

3、Jenkins 插件安装

1)、通过域名打开Jenkins管理平台。
2)、点击Manager Jenkins > Manager Plugins,安装业务插件
插件安装
3)、在插件管理页面,搜索需要安装的插件并进行安装
插件搜索

4)、本文演示简单的基于Git的持续集成 java项目和 angular项目,须安装如下插件
(1)安装 Maven Integration plugin
(2)安装 Publish Over SSH(远程发布)
(3)安装 JDK Parameter Plugin
(4)安装 NodeJs
注意: 插件安装完成后,需要 重启 jenkins

5)、Publish over SSH 服务器配置
主菜单中选择系统管理 > 系统设置 模块,找到 Publish over SSH模块,如下图所示方式设置 SSH服务器连接。 在这里插入图片描述
6)、工具配置
根据持续集成需要,设置所需工具,本示例设置JDK1.8GradleNodeJs
首先需要在Jenkins所在服务器安装JDK1.8、Gradle和NodeJs,并确定安装目录。
然后通过 系统管理 > 全局工具配置 模块,找到 JDKGradleNodeJs并进行配置。(默认是个按钮)

如下图所示方式配置 JDK JDK配置
如下图所示方式配置Gradle 在这里插入图片描述
如下图所示方式配置NodeJs
nodejs 配置

7)、凭据配置
在使用Git获取项目时,可以采用秘钥模式,这里可以通过 凭据配置 完成对公用账号的配置。点击凭据 > 系统 ,添加自己的,然后在 添加凭据
在这里插入图片描述

3、配置任务

1)、通过 Jenkins > 新建任务按钮,打开任务创建创建。
在这里插入图片描述
2)、通常我们在项目中,需要构建一组任务给项目组成员使用,为了授权方便,可以选择将这一组任务放在同一个文件下。
先建立任务文件夹,如下图所示:
在这里插入图片描述
然后,再在任务文件夹中创建具体任务。
在这里插入图片描述
3)、这里以自由风格的任务为例,从码云上拉取代码,然后 打包 发布。

  • 源码管理部分,如下图所示方式配置 git 拉取信息。
    在这里插入图片描述

  • 构建触发器,用于设置任务调度模式,如采用手动触发则无需配置此功能。
    下图为定时构建;也可以采用gitlab 钩子触发调度。
    在这里插入图片描述

  • 构建模块,选择 执行shell 模式,可以根据业务需要添加指令,如调用gradle的任务进行项目打包 在这里插入图片描述
    执行shell命令
    注意:需要在jenkins中配置gradle工具,否则直接使用./gradlew 命令无效。

  • 打包发布
    通过 Publish over SSH 插件,将打包好的文件 发送到 指定部署目录,并执行部署命令。
    这个SSH操作,可以在构建构建后操作模块中添加,选择 Send Build artifacts over SSH模式,如下图所示设置推送目录及推送后的操作。
    over SSH 配置
    说明:

    1. ssh插件的主要功能,是将Source files配置的文件,传输到 Name服务器的Remote directory目录,然后执行 Exec command 窗口中的命令。
    2. Exec command 命令窗口,可以根据需要,执行多条命令,每条命令占用一行。如 清理、解压、启动程序等。

4)、配置完成后,返回任务界面,点击[立即构建]按钮,执行以上配置的任务
在这里插入图片描述
4)、点击 Build History 中的历史记录 标识(如#1),进入任务构建详情界面,可以通过控制台输出 功能,查看构建过程,用于分析构建过程中的错误信息。
控制台输出
5)、构建成功后,返回任务界面,点击[工作空间]按钮,查看项目工作空间。可用于对打包后代码的独立下载。

4、DOCKER 模式安装说明

1)、下载docker 镜像

docker pull jenkins/jenkins:2.183-centos

2)、创建docker 容器

docker run --name jenkins -d -p 8080:8080 -p 50000:50000 jenkins/jenkins:2.183-centos

3、浏览器访问 IP:8080 网址,后续配置与rpm安装模式相同

4、docker 模式使用时,须额外注意外部服务器的访问权限问题

5、要点总结

1)、首次启动通常会出现找不到java命令的情况,修改 /etc/rc.d/init.d/jenkins 文件candidates=""属性,添加本机的JDK目录。
2)、Jenkins默认启动的端口为 8080,可根据具体情况,修改 /etc/sysconfig/jenkins 文件的JENKINS_PORT="8080"属性变更端口。
3)、rpm 方式安装的jenkins ,默认的任务工作目录为/var/lib/jenkins/workspace/
4)、jenkins 工具类插件,使用时须先在服务器安装软件(如jdk、gradle等),然后在全局工具配置中设置。
5)、jenkins通过SSH插件执行脚本时,无法自行获取到用户配置的环境变量,须在执行脚本前,调用 source /etc/profile命令使环境变量生效。(非CentOS系统请自行查找相关命令)

发布了27 篇原创文章 · 获赞 2 · 访问量 3506

猜你喜欢

转载自blog.csdn.net/tysite/article/details/94722349