在 Linux 上搭建 Jenkins 并构建 GitHub 项目

文章目录
一.Linux 中安装配置 JDK
一.安装 JDK
二.配置 JAVA 环境变量
二.Linux 中安装 Maven
一.安装 Maven
二.Maven 相关配置
三.Linux 中安装 Git
一.安装 Git
二.配置 Git 环境变量
四.Linux 中 Jenkins 的搭建与配置
一.Jenkins 安装
二.Jenkins 设为中文
三.为 Jenkins 设置 JDK 以及 Maven 以及 Git
四.Jenkins 拉取 GitHub 项目进行构建

搭建前的声明:
1.本人使用的 CentOS 6.6,默认是装有 git 1.7.1,但是决定使用自己安装的 git

2.本人使用的是 Maven 3.5.2,路径是 /usr/share/apache-maven

3.本人使用的是 Git 2.2.1,路径是 /usr/lib/git/bin

4.本人使用的是 JDK 1.8,路径是 /usr/lib/jvm/java-openjdk

5.本人通过 yum 命令安装的 Jenkins,Jenkins 的 war 包在 /usr/lib/jenkins 中,然后在 Jenkins 中从GitHub 拉取项目拉到本地 /var/lib/jenkins/workplace 中,其中以 Jenkins 中创建的 job 为文件夹名,再下级就是 GitHub 中的项目了。本人使用的 Jenkins 配置了超管的用户名和密码都是 admin,然后新建了一个自己的用户账户,通过修改配置文件的方式将端口从 8080 设置为了 8081,这是为了防止和 tomcat 端口冲突。使用的都是手动安装的 Maven,Git,JDK 工具

linux 搭建 jenkins 步骤

一.Linux 中安装配置 JDK
如何设置 JAVA_HOME 环境变量

查看 JDK 安装路径

一.安装 JDK
安装 jdk 前先检查 linux 中是否已经安装了 jdk,建议安装版本 jdk 1.8

先查看 linux 是否已经安装了 jdk,通过 which java 和 whereis java 来看 jdk 的安装路径,通过 java 命令也可以查看 jdk 信息

先在linux搜索有哪些合适的 jdk 版本

yum search java|grep jdk

然后进入权限,输入密码

su

安装合适需要的版本,一般安装 jdk 1.8 即可

yum install 合适的版本名称

二.配置 JAVA 环境变量
安装好 JDK 后,在命令控制台输入 java -version 是可以看到安装的 java 版本信息的,但是 echo $JAVA_HOME 是没有的,下面步骤是如何配置 java 环境变量

先进入 root 权限,输入密码

su

查找 jdk 路径

find / -name jre

为让所有用户的 shell 都有全是用此环境变量,先打开配置文件

vi /etc/profile

修改配置文件,增加环境变量

先滑动到最下方,按 insert,新起一行输入下方文本

export JAVA_HOME=/usr/lib/jvm/java-openjdk

export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH

export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

注意下,这个 java-openjdk 是我自己的 java 的路径,其中有 bin 以及 jre

然后按下 esc 或者 ctrl + c 来退出 insert 功能

按下 shift + : 再来输入 wq 表示保存退出,其中 !q 表示不保存退出

让配置文件生效

配置文件修改好之后不会立即生效,可以选择重启 linux 或者更简单的用 source 命令

source /etc/profile

可能存在无法识别 source 命令的情况,这时就去执行

locate source /etc/profile

查看 java 环境变量是否设置好了

echo $JAVA_HOME

若有显示 JAVA_HOME 的路径,则成功,配置好 java 环境变量之后还可以通过如下命令来查看 java 路径

java -verbose

最后几行显示的就是 jdk 路径了

二.Linux 中安装 Maven
一.安装 Maven
Linux 如何安装 Maven

请依据构建的项目安装合适版本的 maven,可以先先检查 linux 中是否已经过装好了 maven 工具,若没有再进行安装。下面安装的是 maven 3.5.2 这个版本,这个版本的 jdk 依赖是 1.7 的,也就是说此 maven 要求使用 jdk 是 1.7 及 1.7 以上的

先检查 maven 是否安装,类似 jdk 的命令,有 which 或 whereis 命令,或者mvn -version 来查看

进入 root 权限输入密码

su

用 wget 命令从网络中下载,支持协议 http/https/ftp

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

用 sed 更改命令(咱不知道此处作用)

sed -i s/$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

yum 的安装命令

yum install -y maven

安装好之后,mvn -v 命令可以正常识别,并且安装好后会又安装一个 JDK,此版本的 Maven 安装的 JDK 是 1.7 的版本,然后我再用 echo $MAVEN_HOME 来查看环境变量的配置情况是显示路径 /usr/share/apache-maven,一切成功

二.Maven 相关配置
注意了,我们在使用这个 Maven 去构建 Jenkins 项目时候发现实际上用的还是安装 Maven 附带安装的以个 JDK,及时你已经设置 PATH 中的 JAVA_HOME 也无济于事,但是这个 MAVEN 所支持的 JDK 版本是附带安装的这个 JDK 以上的版本,下面就是自己设置一下让 Maven 默认的 JDK 指向自己手动安装的 JDK 版本而不是 Maven 附带安装的这个 JDK

先查看版本

java -version

可以看到本机 jdk 版本为 1.8.0_181

maven -version

可以看到本机 maven 版本为 3.5.2,同时显示 maven 附带安装的 JDK

设置 maven 的 settings.xml 文件

依据大家安装的 maven 的路径不同,此 settings.xml 配置文件也不同,我的 MAVEN_HOME 是 /usr/share/apache-maven,我的 maven 的 settings 文件路径是 /usr/share/apache-maven/conf,其中可以修改 jdk 版本之类和 mirrors 镜像地址等配置

三.Linux 中安装 Git
Linux 如何安装 Git

Git 安装与 Jenkins 配置 Git(此文中有不少错误,请酌情使用)

下面来讲解一下 git 的安装以及配置环境变量的步骤

一.安装 Git
先使用 git --version 检查是否已经装了 git

一般 CentOS 应该会自动带有 1.7.1 版本的 git,默认在 /usr/share/git-core,但是要注意了 GitHub 需要的 git 最低版本不低于 1.7.2,这就很尴尬了,

进入 root 权限然后输入密码

su

再安装所需要的软件包

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc

yum install gcc perl-ExtUtils-MakeMaker

虽然我也不知道安装这个有什么用

cd 进入指定目录准备安装 git 压缩包

我这里选择的是进入 /usr/lib 路径下安装,因为 wget 命令是在当前路径下进行安装

cd /usr/lib

安装 v 2.2.1.tar.gz 的 git 压缩包

wget https://github.com/git/git/archive/v2.2.1.tar.gz

解压压缩包

tar zxvf v2.2.1.tar.gz

然后进入 git-2.2.1 目录下进行 make prefix

cd git-2.2.1

make prefix=/usr/lib/git all

make prefix=/usr/lib/git install

二.配置 Git 环境变量
配置 git 环境变量

linux 系统一般把 /usr/local/bin 放在了 $PATH 环境变量中,这里 git 是安装在 /usr/lib 下,自然没法识别 git 命令,可以通过 cd 进入到 /usr/lib/git/bin 中再输入 git 命令就可以识别了。这里可以打开 /etc/profile 来配置一下环境变量

vi /etc/profile

先滑动到最下面,按下 insert 按钮,然后在最末尾加上一行

export PATH=$PATH:/usr/lib/git/bin

然后按下 esc,再按下 shift + :,再按下 wq 表示保存退出文件,若是 q! 表示不保存退出

让配置的环境变量生效

cd 先切换到初始路径下,然后为了想看到配置中的环境变量立即生效,可以使用

locate source /etc/profile

或者 reboot 一下 linux 系统亦是可行的

查看 git 是否安装以及配置成功

现在可以输入 git --version 来查看 git 命令是否可以识别了

四.Linux 中 Jenkins 的搭建与配置
Linux 下 Jenkins 安装及配置

额外篇:Linux 的 jenkins 集成 git & gradle 持续构建 SpringBoot 项目

jenkins 添加配置 maven 项目以及添加 svn

一.Jenkins 安装
centOS 安装 Jenkins

Linux 如何安装 Jenkins

进入 root 权限,输入密码

su

wget 命令从网络中下载 Jenkins

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

yum 的 repos 中默认是没有 Jenkins 的,需要先将 Jenkins 存储库添加到 yum repos

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

安装 jenkins

yum install jenkins

明确需要配置 jenkins 启动用户和端口号

因为 jenkins 默认下是用 jenkins 用户启动的,此用户没有赋予权限,可以将启动用户改为 root,jenkins 的默认端口是 8080,这个跟 tomcat 的默认端口实际上是冲突的,我们最好也修改一下默认端口

用 linux 命令打开 jenkins 的配置文件,然后修改 jenkins_user 参数为 root 和 jenkins_port 参数为8081 即可

vi /etc/sysconfig/jenkins

启动 jenkins 服务,出现 [OK] 表示 jenkins 服务启动成功

service jenkins start

linux 浏览器打开 jenkins

在地址中输入 localhost:8081

输入超级管理员 admin 密码

此密码在 /var/lib/jenkins/secrets/initialAdminPassword 文件中

通过 tail /var/lib/jenkins/secrets/initialAdminPassword 命令来找到密码

进入了 jenkins 的新解锁页面来选择安装插件

我这里傻瓜式选择是安装插件,也可以选择安装指定插件,等待几分钟

进入 jenkins 的管理员账号注册页面

进行 jenkins 用户账户的注册,我这里又直接傻瓜式选择了以 admin 登陆

成功后自动登录并进入 jenkins 主页,以后登录的话输入 admin 以及前面的密码即可

二.Jenkins 设为中文
Jenkins 中文显示设置

Jenkins 中文显示排除浏览器干扰

Jenkins 默认显示的是英文,可以在 Jenkins 内安装插件的方式来将语言设为中文,下面是操作流程

登录进 Jenkins 中

一开始进去显示的应该是英文

安装相关插件

在首页中【系统管理】→【插件管理】的【Available】标签页中,搜索“Locale”字段,Available 中是未安装的插件,Installed 中是已安装的插件,Locale 插件是与 Jenkins 语言的配置相关。安装插件页面显示 pending,之后显示 success

设置中文显示

在首页中【系统管理】→【系统设置】中可以查看到 Locale Default Language 这样的一栏,其中输入 zh_CN,这就已经设置了中文,可以勾选忽略浏览器参数配置的 box 框,这是因为浏览器是英文的话,设置了 zh_CN 还会是英文

三.为 Jenkins 设置 JDK 以及 Maven 以及 Git
由于本人提前在 linux 安装好了 JDK 以及 Maven,所以可以不用选择在线安装,直接引入到本地的文件中

Jenkins 中 JDK 的配置

进入首页中【系统管理】→【全局工具配置】找到 JDK 字段,然后点击 JDK Installations… 来添加 JDK,我这里取消了自动安装的勾选,选择使用本地 jdk1.8.0_181 这个 jdk,在终端中通过 java -version 来查看 jdk 的版本,然后再用 echo $JAVA_HOME 来查看 java 环境变量的路径,之后在 Jenkins 中输入 Name 以及相应的 JAVA_HOME 路径即可,若只修改了 JDK 在 Jenkins 中的配置,注意保存一下

Jenkins 中 Maven 的配置

同样也是在系统管理的全局工具配置中,找到 Maven 字段,点击 Maven Installations… 来添加 Maven,这里同样取消自动安装的勾选,选择本地使用的 Maven 3.5.2 这个 Maven,在终端中通过 mvn -v 来查看 Maven 版本,通过 echo $MAVEN_HOME 来查看 Maven 的环境变量的路径,之后在 Jenkins 中输入 Name 以及相应的 MAVEN_HOME 路径即可,若只修改了 MAVEN 在 Jenkins 中的配置,注意保存一下

Jenkins 中 Git 的配置

同样也是在系统管理的全局工具配置中,找到 Git 字段,点击 Git Installations… 来添加 Git,这里同样取消自动安装的勾选,选择本地使用 Git 2.2.1 这个 Git,在终端通过 echo $PATH 来找到

四.Jenkins 拉取 GitHub 项目进行构建
创建一个任务

点击 new 任务,然后输入相应的 Enter an item name,构建一个自由风格的软件项目

对 Jenkins 中 Job 的配置拉取 GitHub 项目

General

这里主要是在 Description 中添加描述,同时我这里选择了丢弃旧的构建,并且设置了构建保存天数 1 天,保持构建的最大个数和发布包保留的天数以及发布包最大保留构建数都为 3,因为不丢弃旧的构建的话,每次 Jenkins 构建后,都会对该构建的项目产生一个历史构建记录以及项目发布包,若不及时丢弃的话,会导致磁盘越来越满。参数化构建可能也用的比较多

Source Code Management

这里是配置资源代码管理,我选择的是 GitHub,不少公司的资源是引用的 GitLab,因为 GitHub 是开源的,GitLab 私有仓比较容易建立。填写 Repository URL 为 GitHub 上的项目链接路径,Credentials 为 GitHub 的登陆用户名和密码。注意了,这里没必要再去 Advance 添加 Name 和 Refspec,之前因为写了这两个参数,然后在构建项目的时候,显示 Error fetching…,找了比较久才发现是这个问题

Build Triggers

这里是构建触发器,我勾选了轮询 SCM,Schedule 具体该如何写再另一篇博文中有介绍

Build Environment

这里是构建环境,勾选了 Abort the build if it’s stuck 选项,勾选了 Add timestamp to the Console Output

Build

这里是构建,选择 shell 和 maven 的比较多,这里选择了 maven,之后在 Maven Version 中写上自己 Jenkins 中配置的 Maven 版本号为 maven 3.5.2,然后在 Goals 中写上 mvn 后的命令为 clean install,表示先清理再初始化。注意了,有的人可能在 GitHub 中的 pom.xml 文件不是直接放在直接仓库中,可能是下一级子目录,这时候可以使用 mvn -f 目录名 clean install 来先进入子目录再进行 clean 和 install 操作

Post-build Action

这里是构建后的事件操作,有 E-mail 发送等功能,Jenkins 中的邮件配置可参见这篇博文:Jenkins 邮件发送配置,这篇博文中要注意一下,这个密码可不是邮箱的密码,是 smtp 的验证密码。主要是先安装 Email Extension Plugin 插件,在系统设置中会出现 Extended E-mail Notification,其中 SMTP server 写的是 smtp.qq.com,Default user E-mail suffix 写的是 @qq.com,勾选 Use SMTP Authentication 填写发送者的邮箱以及 SMTP 验证的密码(你的邮箱需要先开启 SMTP 功能),勾选 Use SSL,SMTP port 为 465,然后下方还可以编辑模板,Default Recipients 写接收人邮箱。配置里还有个 E-mail Notification 这里是 Jenkins 自己的邮件配置配置也大同小异,而且勾选了 Test configuration by sending test e-mail 然后填写收件人邮箱可以进行 Jenkins 自带邮件配置功能来发送邮件进行测试

构建项目

配置好之后可以正常构建项目了,可以看到指定 Job 的控制台信息,Cloning…,Fetching…,Checking out Revision…,显示 GitHub 中的 Commit 信息,First time build…,最后显示 Email was triggered for: …,Sending email for trigger: …,Sending email to: …,Finished: SUCCESS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值