首先本文是基于Java项目来做的持续集成,那么第一个问题就是为什么要做持续集成?
做Java开发的同学应该深有感触,编译打包,scp把包传输到服务器,解压,启动tomcat ,或者启动jar,这个过程技术含量不大,但是就是这样重复一遍一遍,中间如果稍微不小心,那可能就要重新来过了,发布一下测试环境小则10分钟,多则半个小时一个钟头~
我们应该有一个基本的原则,就像写代码的时候遵循DRY原则一样,重复的代码要想办法消除,重复执行的工作,理当用一个种办法来消除,这个时候jenkins出现了,程序员释放你们的双手吧,编译,打包,传包,发布,启动的过程,交给jenkins就好了。
先说我的环境,我是基于centos系统搭建的持续集成环境,环境都大同小异,win,linux 环境下查不了多少。
首先要去jenkins官网下载最新的war包,然后这个war包部署到tomcat下,这个对于Java开发的同学没什么好说的把,so easy~
配置tomcat的server.xml文件,指向jenkins的解压目录
进入tomcat bin目录,./startup.sh
可以去tomcat 目录下的logs目录去查看catalina.out的日志输出文件,如果看到jenkins is fully up and running ,jenkins已经启动成功了~
登录jenkins,第一次登录会有一个初始密码,会让你修改掉
第一步:初始进来是没有这些个工程的,首先我们需要找到系统管理的菜单,进去找到Global Tool Configuration
在Global Tool Configuration里面,需要你手动配置,你的jdk版本,你的git版本,还有maven版本及目录,编译打包的时候基于你配置的maven,git的配置是因为要从分支获取对应的代码进行编译。
第二步:系统管理里面还有一个比较重要的配置,是在系统管理-系统设置内,找到Publish over SSH对应的设置,如下
为啥要重点说下Publish over SSH,是因为后面要通过这个ssh把jar包或者war包通过ssh的方式,把包传输到对应的目标服务器的指定目录,当然还可以通过另一种方式来部署,后续再谈。配置完别忘记点下面的testing测试下配置是否可以正常连接对应的服务器哦。
第三步:创建对应需要持续集成的项目
先输入项目的名称,选择构建一个maven项目。
General配置:
输入项目名称,描述,如果编译的时候需要指定对应的参数可以,选择参数化构建过程,key-value的形式输入对应的值。
Branch Specifier (blank for 'any'):对应的分支名称
源码管理配置:
Reposltory Url :输入项目的clone地址
Credentials :输入对应的git账号密码,这个地方需要提前设置好,设置完毕以后此处可以选择对应的账号密码。
构建触发器,构建环境默认就行,pre steps下拉里面有一个execute shell
pre steps :命令之前执行的操作。可以写脚本。
execute shell,编译完成后可以执行的shell脚本~
Build:
Root POM:对应的pom.xml文件路径
Goals and options:maven 命令
Post Steps:命令之后构建脚本
也可以选择execute shell来执行shell
构建设置:
可以在编译打包发布的过程完毕之后发送短信通知给用户,此处我们不做设置,当然你可以在系统配置内完成配置即可
构建后的操作:
每一个设置的Transfers就会把包,传输到某一个服务器的对应目录,所以可以设置多个Transfer,推送多个包到多个服务器。
Source files:找到maven编译好的jar包或者war包
Remove prefix:传输的过程中会有对应的目录信息,可以设置此处过滤掉
Remote directory:传输到的远程服务器目录
Exec command:传输完毕,执行的linux 命令
在下图的位置选择Send build artifacts over SSH
如何执行,如何看log,看下图
执行点击下图按钮就可以啦
ok,jenkins已经搭建完毕了
其实jenkins搭建的过程中有些需要注意的点
第一点在上面的配置过程中,会安装一些插件,这些插件可以在安装的过程中去找。
第二点就是要有一定的shell基础,因为没有不用shell,只能编译打包,没法部署,整个部署的过程都是基于shell实现的,所以要好好学习shell~