持续集成原理:本地push代码,触发webhook,jenkins拉取代码到服务器后,通过shell脚本编译打包发布。
这里采用阿里云centos7做服务器
搭建步骤:
1、安装JDK1.8,最好是rpm安装版,解压版或多或少会有点问题,jenkins对jdk版本也有要求,安装docker。
2、安装并配置好maven。
3、安装git。
4、https://jenkins.io/download/,jenkins官网下载jenkins.war
也可以选择下载rpm安装版,不过相对于war包要麻烦一些,这里以war包为例。
下载好war包之后,将war包丢进tomcat的webapp文件夹下面直接启动tomcat,访问http://ip:port/jenkins开始配置jenkins,选择安装推荐插件,其他的需要的插件可以进去之后再手动安装.
使用webhook自动触发构建项目需要用到webhook插件,在系统管理-》插件管理里面添加下载。
系统管理——》全局工具配置里面配置jdk、git、maven,这里都配置服务器上面的实际安装位置,可以使用whereis git查看安装位置,jdk和maven也一样。
5、配置webhook
在系统管理-》系统设置里面找到GitHub,点击高级,勾选“为GitHub指定另外一个Hook URL”,复制输入框里面的URL
进入github项目页面,点击setting-》webhook
填入jenkins上面复制的url,选择自定义事件,在push代码的时候触发webhook。
jenkins界面选择新建任务,构建一个自由风格的软件项目。
源码管理里面填上git仓库位置
点击添加凭据,如下图,类型选择私有秘钥,将服务器上面的私有秘钥复制到private key文本框里面,这里服务器的公共秘钥也需要添加到git上面。点击添加。
启动webhook触发器
勾选构建之前清理工作目录,构建里面的shell脚本,根据自己的实际环境情况编写,我这里分为四步。
1)进入工作目录
2)maven编译打包项目
3)将jar包复制到我的docker容器映射目录
4)启动容器
完成以上步骤之后,我们每次push代码都会触发jenkins持续集成了