背景

在我现在的工作环境中发布版本的流程是这样的,利用maven构建出war,之后手工上传到服务器上,然后在服务器上运行部署war的脚本(停掉tomcat、替换war、启动tomcat).至此项目的发布结束。

这种手工发布的方式带来的问题就是在测试过程中,会频繁的修改代码发布版本,这样就会浪费到很多时间,而且项目组里面只有一位同事对linux环境比较熟悉,所以每次都是他手工进行此项操作,有时候多个项目会并行测试的时候,他就忙不过来了。

之前一直想把项目发布这一块的工作进行自动化,但是之前知识储备不够,所以一直没有进行下去,现在经过一段时间的学习之后对Maven/Git比较熟悉了,所以可以尝试使用Jenkins对我们的项目进行集成了。

配置jenkins服务

受公司网络环境限制,我仅在我本地搭建了Jenkins的服务。

下载Jenkins的war包、并安装相关插件。

在tomcat中部署该war,部署成功之后我们就可以在浏览器中看到Jenkins的初始化页面。这个时候说明我们的Jenkins服务已经启动成功了。
在系统管理的插件管理中可以安装我们需要的插件:Git Maven SSH SVN …

创建一个Job

在Jenkins的主页面中新建一个任务,选择一个Maven项目,或者一个自由风格的项目。两种方式我都进行尝试过,当我想利用Maven的pom.xml自动帮我构建的时候,我选择的是Maven项目,当我想通过自己配置Maven 命令的时候我选择是自由风格的项目。
默认的项目可以从SVN/Git仓库中拉取最近的代码进行构建,但是因为windows中Git和Maven的环境配置经常出错,所以我就选择了本地的工作空间,我将本地项目的目录作为工作空间。

配置构建周期,根据实际情况,我们项目需要的时定时的进行构建,所以我在构建触发器中选择了Build periodically : 0 10,12,15,18 *.在每天的十点 十二点 下午三点和下午六点进行定时构建任务。

配置构建后操作,在项目构建完成之后,我们需要讲package通过ssh上传到服务器上,这个时候我们需要用到public over SSH插件。安装完此插件之后我们就可以在系统设置中配置ssh服务的相关参数了。

参数包括 服务器的username / password /remote directory等,完成此处的配置之后我们就可以在构建配置中添加一个构建后的ssh操作,需要将本地的war上传的服务器的某个目录,然后执行一个shell脚本将war替换到webapp中并重新启动一下tomcat就可以了。
至此就可以完成Jenkins的构建了。

参考资料 : http://blog.csdn.net/evankaka/article/details/50518959