基于jenkins的持续集成

首先本文是基于Java项目来做的持续集成,那么第一个问题就是为什么要做持续集成?

做Java开发的同学应该深有感触,编译打包,scp把包传输到服务器,解压,启动tomcat ,或者启动jar,这个过程技术含量不大,但是就是这样重复一遍一遍,中间如果稍微不小心,那可能就要重新来过了,发布一下测试环境小则10分钟,多则半个小时一个钟头~

我们应该有一个基本的原则,就像写代码的时候遵循DRY原则一样,重复的代码要想办法消除,重复执行的工作,理当用一个种办法来消除,这个时候jenkins出现了,程序员释放你们的双手吧,编译,打包,传包,发布,启动的过程,交给jenkins就好了。

先说我的环境,我是基于centos系统搭建的持续集成环境,环境都大同小异,win,linux 环境下查不了多少。

首先要去jenkins官网下载最新的war包,然后这个war包部署到tomcat下,这个对于Java开发的同学没什么好说的把,so easy~

配置tomcat的server.xml文件,指向jenkins的解压目录

《基于jenkins的持续集成》

进入tomcat bin目录,./startup.sh

《基于jenkins的持续集成》

可以去tomcat 目录下的logs目录去查看catalina.out的日志输出文件,如果看到jenkins is fully up and running ,jenkins已经启动成功了~

登录jenkins,第一次登录会有一个初始密码,会让你修改掉

《基于jenkins的持续集成》

第一步:初始进来是没有这些个工程的,首先我们需要找到系统管理的菜单,进去找到Global Tool Configuration

《基于jenkins的持续集成》

《基于jenkins的持续集成》

Global Tool Configuration里面,需要你手动配置,你的jdk版本,你的git版本,还有maven版本及目录,编译打包的时候基于你配置的maven,git的配置是因为要从分支获取对应的代码进行编译。

第二步:系统管理里面还有一个比较重要的配置,是在系统管理-系统设置内,找到Publish over SSH对应的设置,如下

《基于jenkins的持续集成》

为啥要重点说下Publish over SSH,是因为后面要通过这个ssh把jar包或者war包通过ssh的方式,把包传输到对应的目标服务器的指定目录,当然还可以通过另一种方式来部署,后续再谈。配置完别忘记点下面的testing测试下配置是否可以正常连接对应的服务器哦。

第三步:创建对应需要持续集成的项目

《基于jenkins的持续集成》

先输入项目的名称,选择构建一个maven项目。

《基于jenkins的持续集成》

General配置:

输入项目名称,描述,如果编译的时候需要指定对应的参数可以,选择参数化构建过程,key-value的形式输入对应的值。

Branch Specifier (blank for ‘any’):对应的分支名称

《基于jenkins的持续集成》

源码管理配置:

Reposltory Url :输入项目的clone地址

Credentials :输入对应的git账号密码,这个地方需要提前设置好,设置完毕以后此处可以选择对应的账号密码。

《基于jenkins的持续集成》

构建触发器,构建环境默认就行,pre steps下拉里面有一个execute shell

pre steps :命令之前执行的操作。可以写脚本。

《基于jenkins的持续集成》

execute shell,编译完成后可以执行的shell脚本~

《基于jenkins的持续集成》

Build:

Root POM:对应的pom.xml文件路径

Goals and options:maven 命令 

《基于jenkins的持续集成》

Post Steps:命令之后构建脚本

也可以选择execute shell来执行shell

《基于jenkins的持续集成》

构建设置:

可以在编译打包发布的过程完毕之后发送短信通知给用户,此处我们不做设置,当然你可以在系统配置内完成配置即可

《基于jenkins的持续集成》

构建后的操作:

每一个设置的Transfers就会把包,传输到某一个服务器的对应目录,所以可以设置多个Transfer,推送多个包到多个服务器。

Source files:找到maven编译好的jar包或者war包

Remove prefix:传输的过程中会有对应的目录信息,可以设置此处过滤掉

Remote directory:传输到的远程服务器目录

Exec command:传输完毕,执行的linux 命令

在下图的位置选择Send build artifacts over SSH

《基于jenkins的持续集成》

如何执行,如何看log,看下图

执行点击下图按钮就可以啦

《基于jenkins的持续集成》

《基于jenkins的持续集成》

ok,jenkins已经搭建完毕了

其实jenkins搭建的过程中有些需要注意的点

第一点在上面的配置过程中,会安装一些插件,这些插件可以在安装的过程中去找。

第二点就是要有一定的shell基础,因为没有不用shell,只能编译打包,没法部署,整个部署的过程都是基于shell实现的,所以要好好学习shell~

    原文作者:imo浩
    原文地址: https://www.jianshu.com/p/d625e0204ce6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞