1.Jenkins介绍
Jenkins是一款持续集成工具,通过和maven或者ant等工具整合,可以形成一个自动化持续集成的平台,达到一键更新发布项目的作用。
2.Jenkins安装
2.1安装包方式搭建
-
官网 http://pkg.jenkins-ci.org/获取需要安装包,例如centos系统,当前获取的最新版jenkins-1.564-1.1.noarch.rpm
-
将安装包上传到服务器,在存放目录执行
rpm -ivh jenkins-1.564-1.1.noarch.rpm
-
安装完成后,启动jenkins
Service Jenkins start
-
打开浏览器访问http://serviceIP:8080/
注:jenkins的启动需要jdk的支持,需要确定服务器上是否已安装jdk
默认的端口是8080,如果需要修改可编辑/etc/sysconfig/jenkins文件进行配置
2.2war包方式搭建
-
官网http://pkg.jenkins-ci.org/获取最新war包
-
将war包上传至服务器的tomcat目录的webapps下
-
启动tomcat进行war包解压,解压完成后,重启tomcat
-
如果tomcat端口是8080,打开浏览器访问http://serviceIP:8080/
3.ant介绍
ant是基于java的一款构建工具,通过配置build.xml,让项目可以进行编译,部署,打包。
4.ant安装
-
从官网http://ant.apache.org/bindownload.cgi获取最新的tar包。
-
上传至服务器目录,解压tar包即可
tar –xvf apache-ant-1.9.2-bin.tar
注:使用javacc编译存在一些条件无法编译的情况,可以使用eclipse的编译器jdt进行编译。找到
jdtCompilerAdapter.jar
org.eclipse.jdt.compiler.tool_1.0.100.v_B79_R37x.jar
org.eclipse.jdt.core_3.7.3.v20120119-1537.jar
org.eclipse.jdt.debug.ui_3.6.1.v20111006_r372.jar
上传至ant目录的lib下。在build.xml申明下使用jdt即可
5.ant配置
ant需要在项目路径下配置build.xml,通过build.xml写入的脚本,来实现功能。以下用一个示例文件来大致说明下。
用eclipse的编译工具编译,跳过不能编译泛型的问题-->
定义jar包所在目录 -->
该build.xml主要实现了
-
删除编译目录
-
编译项目
-
部署项目
其中环境变量要根据不同机器配置相对应路径。类似于公司的项目,要首先观察下项目的目录结构,把供编译使用的jar包存放路径找到,配置到classpath参数之中。接着建立buildfile目录,加入部署项目时用到的数据库连接文件(一般我们从svn获取的代码中的database.xml不是服务器的测试环境的链接,通过替换数据库链接文件,可以让各环境连接不同的数据库)。在根据项目实际情况,调整build.xml定制特殊功能。
6.jenkins配置
建立jenkins+ant+svn持续构建环境主要要实现一个这样的流程
-
通过svn下载项目最新代码
-
关闭tomcat
-
调用ant脚本执行部署
-
启动tomcat
通过让jenkins自动的执行这些步骤就能完成持续集成的工作。配置如下。
-
配置系统管理,配置服务器环境变量
-
访问jenkins,新建一个项目
-
配置svn
-
配置shell和ant
-
配置完成后点击项目的立刻构建按钮,就能达到持续集成的目的。
通过规范化svn备注提交,可以达到更新说明的目的
通过查看控制台输出,可以监控安装部署情况。
-
建立安全策略,建立账号防止多人访问误点。
注意事项:
1. 在jenkins中配置自动更新部署项目时,如果采取用execute shell启动/关闭tomcat,会发现可以进行关闭tomcat,但是无法启动tomcat,虽然构建会显示执行成功,但是查看进程,tomcat是没有启动的。这是因为Jenkins默认会在Build结束后Kill掉所有的衍生进程。需要进行以下配置,才能避免此类情况发生:
重设环境变量build_id
在execute shell输入框中加入BUILD_ID=DONTKILLME,即可防止jenkins杀死启动的tomcat进程
在启动jenkins 的时候禁止jenkins杀死衍生进程
修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true。需要重启jenkins生效
此方法配置一次后,所有的job都无需设置BUILD_ID,就能够防止jenkins杀死启动的tomcat进
|
所有评论仅代表网友意见