写在前面
本次jenkins的搭建的主要目的是体验一下jenkins的持续集成功能,在我自己搭建过程中还是出现了不少的坑的。本篇主要是为第一次搭建jenkins的小白们提供一点经验。
一、安装环境
Windows10
jdk1.8
二、安装步骤
1.打开jenkins官网,选择war包的安装方式,msi的安装方式没尝试过 ,但是原理差不多
2.下载完war包,放在指定目录
3.打开cmd命令行,启动jenkins
第一次启动的时间会比较长,他会给你一个初始的解锁密码,如下图所示,记录这个密码,或者你可以到他先是的目录下找到。
等到出现“jenkins is fully up and running”的信息,说明已经启动成功
4.jenkins默认端口是8080,打开浏览器,地址栏输入localhost:8080
把刚才的密码粘贴过来,然后点击继续
选择第一项“安装推荐的插件”,然后点击继续,他就开始安装初始化插件了。这个过程非常痛苦,因为插件源是在外网,所以你懂得,我开了某些软件,也足足等了将近一个小时。
可以看到,大部分都失败了,运气好一点可能会失败的少一点
5.点击继续,第一次的话他会让你创建一个自己的用户和密码,填完之后就能进入jenkins的主页了
因为少了很多基础依赖,所以此时jenkins并不能正常使用,这边推荐用手动下载插件离线安装的方式
插件下载地址:http://updates.jenkins-ci.org/download/plugins/
这边以git-client插件为例
其余插件同理
6.装完全部的基础插件之后,就可以创建项目了,但是在这之前我们需要做一些全局配置。
我这边代码仓库以码云Gitee为例,其他仓库原理也是差不多的,所以先来配置一下码云的环境
第一步:安装Gitee的jenkins插件,我这边已经是安装好的,你可以在可选插件页搜索到,安装完就好了
第二步:打开jenkins系统配置
第三步:找到Gitee,然后按照下面的步骤配置,具体步骤
这里的步骤已经很明确了,还有不明白的可以私信问我
7.接下来我们需要一个测试用的CI项目,我这边建了一个简单的springboot项目,内容很简单,只有一个接口
8.把我们新建的项目推到码云仓库
9.接下来,回到jenkins首页,点击新建一个项目,这里我们先选自由风格的项目
起完项目名后,点击确定,填写项目描述和构建策略,构建策略选择丢弃老的构建,Gitee链接选择之前在系统设置配好的链接
,如果你配置成功的话,下拉框会有
接下来配置git仓库,填写我们刚刚push到码云的项目clone地址,Credentials填写验证,如果是公开仓库的话,不用填写。
然后填写代码分支,因为我测试用只有一个分支,就让他用默认的master分支
下一步,构建触发器,Jenkins触发构建肯定需要一个事件,触发器正是这个作用
首先,选择Gitee webhook触发构建,触发策略选择推送代码和pr,下面的是默认值
注意这里有个Gitee WebHook密码,点击生成,他会自动生成一串密码,保存起来,待会儿要用。
然后去到码云你自己的仓库去设置钩子
进入刚才推送代码的仓库,点击管理
点击WebHook,进入下图所示页面
这里的URL填写jenkins配置页的post地址,换成自己的jenkins地址即可,这边我本地做了一个内网穿透
密码就是刚才jenkins 生成的密码 ,贴过来,点击确定,这样码云的代码钩子就设置好了
以上步骤完成了jenkins代码源以及触发策略配置,现在回到jenkins,继续下面的构建步骤配置
我这里主要是两步
- 配置maven执行命令,因为boot项目所以先对其进行打包
- 第二步是windows下jar包的启动脚本,注意,这里有个大坑:Jenkins在windows下会自动杀死启动的进程,之前因为项目启动不成功的问题折腾了半天,下图脚本里的set BUILD_ID=dontKillMe可以防止进程被杀死!
接下来是构建后操作,可以发邮件通知或者回评到Gitee等,这个有兴趣的可以自己看,我这边暂时不配置了
最后,点击保存,这样Jenkins的构建任务就完成了。
10.进行jenkins CI测试
现在在本地改动代码,然后推送到码云,看能不能触发任务:
push代码后,我们在jenkins侧能看到:
说明构建成功了。
写在后面
jenkins主要是整合了一些插件,提供一个平台实现项目的流程化,这就是所谓的持续集成。我认为jenkins的难点在于构建脚本。我这边只是写了个简单的启动脚本,真正的项目脚本是非常复杂的,相当考验shell或者bat的功底,而且实际上你去公司jenkins也不会让你搭建,但是了解一下总归是好的,不是吗?