当前位置: 首页 > 技术与资源 > 技术分享 > 正文

基于Jenkins + SVN + Ant + Weblogic的持续集成平台

2016-02-25 16:22:28

作者:冼志超新炬网络高级技术专家。


1
概述

 

随着IT行业的不断发展,软件开发的复杂度也随着不断提高。

 

与此同时,软件的开发团队也越来越庞大,而如何更好地协同整个团队进行高效准确的工作,从而确保软件开发的质量已经慢慢成为了开发过程中不可回避的问题。

 

持续集成正是针对这一类问题的一种软件开发实践。

 

它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。

 

2
持续集成的核心价值

 

 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;

 

持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;

 

持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。

 

3
持续集成的原则

 

业界普遍认同的持续集成的原则包括:

 

需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有 IBM Rational ClearCase、CVS、Subversion 等;

 

开发人员必须及时向版本控制库中提交代码,也必须经常性地从版本控制库中更新代码到本地;

 

需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,如每半个小时构建一次;

 

必须保证构建的成功。如果构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需要手动启动一次构建。

 

 

4
持续集成平台的构成

 

(1)一个完整的持续集成系统由以下几部分组成:

一个自动构建过程,包括自动编译、分发、部署和测试等。可使用ANT或者Maven等工具;

 

一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。例如Subversion、Git、CVS;

 

一个持续集成服务器。Cruise Control、Jenkins等。

 

(2)典型持续集成架构:

 

(3)持续集成流程:

 

5
基于Jenkins的持续集成平台

 

本文章介绍的持续集成平台由Jenkins、SVN、Ant、Weblogic搭建构成。

 

平台主要功能:

 

1、Jenkins安装

 

下载最新的版本(一个 WAR 文件)。Jenkins官方网址: http://Jenkins-ci.org/

 

运行 java -jar jenkins.war。

 

另外一种安装方式就是将下载的war包文件部署到servlet 容器,然后启动容器,在浏览器的URL地址栏中输入类似http://localhost:8080/jenkins/这样的地址即可。

 

通过—httpPort可指定端口。

 

 

2、主要系统配置

 

系统管理员邮箱地址:

 

 

配置邮件通知:

 

 

3、构建自由风格的Job

 

 

4、源码管理配置

 

 

 

点击 enter credential 输入用户名和密码:

 

 

5、构建触发器

 

@daily指每日构建

 

 

6、构建step

 

在本文章中,通过调用和执行 Windows batch command。

 

进入CI文件夹,调用bat批处理文件。

 

cxps_weblogic_build.bat如下:

进入Jenkins job的workspace目录下,根据Jenkins从SVN下载下来的源代码build.xml配置文件的设置,使用ant命令对工程项目编译打包。

 

cxps_weblogic_deploy.bat如下:

进入PuTTY根目录;

 

使用PuTTY的pscp文件传输功能,把编译打包后放在C:\Users\admin\.jenkins\jobs\cxps_weblogic_build\workspace\war文件夹的dwrdemo.war包拷贝到weblogic服务器的upload文件夹下;

 

使用PuTTY的plink功能,远程连接weblogic服务器,并执行stopWebLogic.sh脚本停止weblogic服务;

 

同样在下一步操作执行start.sh脚本;

 

通过ping -n 80 127.0.0.1 > null,等待80秒,确保weblogic启动结束;

同样在下一步执行catlog.sh。

 

start.sh如下:

  • 进入weblogic的AdminServer目录,执行rm –rf命令,删除缓存文件;

     

  • 进入weblogic domain的bin目录,执行startWebLogic.sh命令,启动weblogc。

 

7、配置邮件通知

 


 

8、日志输出

 

新的job设配置好保存后,就可按已设置好的构建时间进行构建。

 

 

6
结束语

 

基于Jenkins+SVN+Ant+Weblogic的持续集成平台,它通过整个流程能实现自动化,可以使开发者从繁杂的集成过程中解脱出来,专注于更为重要的业务逻辑实现。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性,极大地提高软件开发效率和质量。

上一篇:优化一致性算法,从学会Raft开始?
下一篇:数据库移植的四个阶段,你都知道吗?