写在前面

本次jenkins的搭建的主要目的是体验一下jenkins的持续集成功能,在我自己搭建过程中还是出现了不少的坑的。本篇主要是为第一次搭建jenkins的小白们提供一点经验。

一、安装环境

Windows10

jdk1.8

二、安装步骤

1.打开jenkins官网,选择war包的安装方式,msi的安装方式没尝试过 ,但是原理差不多

jenkins状态正确 网址打不开_启动脚本

2.下载完war包,放在指定目录

jenkins状态正确 网址打不开_推送_02

3.打开cmd命令行,启动jenkins

jenkins状态正确 网址打不开_jenkins状态正确 网址打不开_03

第一次启动的时间会比较长,他会给你一个初始的解锁密码,如下图所示,记录这个密码,或者你可以到他先是的目录下找到。

jenkins状态正确 网址打不开_devops_04

等到出现“jenkins is fully up and running”的信息,说明已经启动成功

jenkins状态正确 网址打不开_启动脚本_05

4.jenkins默认端口是8080,打开浏览器,地址栏输入localhost:8080

jenkins状态正确 网址打不开_推送_06

把刚才的密码粘贴过来,然后点击继续

jenkins状态正确 网址打不开_Jenkins_07

选择第一项“安装推荐的插件”,然后点击继续,他就开始安装初始化插件了。这个过程非常痛苦,因为插件源是在外网,所以你懂得,我开了某些软件,也足足等了将近一个小时。

jenkins状态正确 网址打不开_jenkins状态正确 网址打不开_08

可以看到,大部分都失败了,运气好一点可能会失败的少一点

jenkins状态正确 网址打不开_启动脚本_09

 

5.点击继续,第一次的话他会让你创建一个自己的用户和密码,填完之后就能进入jenkins的主页了

jenkins状态正确 网址打不开_devops_10

因为少了很多基础依赖,所以此时jenkins并不能正常使用,这边推荐用手动下载插件离线安装的方式

插件下载地址:http://updates.jenkins-ci.org/download/plugins/

这边以git-client插件为例

jenkins状态正确 网址打不开_启动脚本_11

jenkins状态正确 网址打不开_devops_12

其余插件同理

 

6.装完全部的基础插件之后,就可以创建项目了,但是在这之前我们需要做一些全局配置。

 我这边代码仓库以码云Gitee为例,其他仓库原理也是差不多的,所以先来配置一下码云的环境

 

第一步:安装Gitee的jenkins插件,我这边已经是安装好的,你可以在可选插件页搜索到,安装完就好了

jenkins状态正确 网址打不开_启动脚本_13

第二步:打开jenkins系统配置

jenkins状态正确 网址打不开_推送_14

第三步:找到Gitee,然后按照下面的步骤配置,具体步骤

这里的步骤已经很明确了,还有不明白的可以私信问我

jenkins状态正确 网址打不开_启动脚本_15

 

7.接下来我们需要一个测试用的CI项目,我这边建了一个简单的springboot项目,内容很简单,只有一个接口

jenkins状态正确 网址打不开_推送_16

8.把我们新建的项目推到码云仓库

jenkins状态正确 网址打不开_Jenkins_17

9.接下来,回到jenkins首页,点击新建一个项目,这里我们先选自由风格的项目

jenkins状态正确 网址打不开_jenkins状态正确 网址打不开_18

起完项目名后,点击确定,填写项目描述和构建策略,构建策略选择丢弃老的构建,Gitee链接选择之前在系统设置配好的链接

,如果你配置成功的话,下拉框会有

jenkins状态正确 网址打不开_启动脚本_19

接下来配置git仓库,填写我们刚刚push到码云的项目clone地址,Credentials填写验证,如果是公开仓库的话,不用填写。

然后填写代码分支,因为我测试用只有一个分支,就让他用默认的master分支

jenkins状态正确 网址打不开_推送_20

 

下一步,构建触发器,Jenkins触发构建肯定需要一个事件,触发器正是这个作用

首先,选择Gitee webhook触发构建,触发策略选择推送代码和pr,下面的是默认值

jenkins状态正确 网址打不开_启动脚本_21

注意这里有个Gitee WebHook密码,点击生成,他会自动生成一串密码,保存起来,待会儿要用。

然后去到码云你自己的仓库去设置钩子

进入刚才推送代码的仓库,点击管理

jenkins状态正确 网址打不开_推送_22

点击WebHook,进入下图所示页面

jenkins状态正确 网址打不开_启动脚本_23

这里的URL填写jenkins配置页的post地址,换成自己的jenkins地址即可,这边我本地做了一个内网穿透

jenkins状态正确 网址打不开_Jenkins_24

密码就是刚才jenkins 生成的密码 ,贴过来,点击确定,这样码云的代码钩子就设置好了

jenkins状态正确 网址打不开_推送_25

以上步骤完成了jenkins代码源以及触发策略配置,现在回到jenkins,继续下面的构建步骤配置

我这里主要是两步

  • 配置maven执行命令,因为boot项目所以先对其进行打包
  • 第二步是windows下jar包的启动脚本,注意,这里有个大坑:Jenkins在windows下会自动杀死启动的进程,之前因为项目启动不成功的问题折腾了半天,下图脚本里的set BUILD_ID=dontKillMe可以防止进程被杀死!

jenkins状态正确 网址打不开_jenkins状态正确 网址打不开_26

接下来是构建后操作,可以发邮件通知或者回评到Gitee等,这个有兴趣的可以自己看,我这边暂时不配置了

jenkins状态正确 网址打不开_启动脚本_27

最后,点击保存,这样Jenkins的构建任务就完成了。

jenkins状态正确 网址打不开_推送_28

 

10.进行jenkins CI测试

现在在本地改动代码,然后推送到码云,看能不能触发任务:

jenkins状态正确 网址打不开_Jenkins_29

push代码后,我们在jenkins侧能看到:

jenkins状态正确 网址打不开_devops_30

说明构建成功了。

 

 

写在后面

jenkins主要是整合了一些插件,提供一个平台实现项目的流程化,这就是所谓的持续集成。我认为jenkins的难点在于构建脚本。我这边只是写了个简单的启动脚本,真正的项目脚本是非常复杂的,相当考验shell或者bat的功底,而且实际上你去公司jenkins也不会让你搭建,但是了解一下总归是好的,不是吗?