apache continuum ci tool 使用说明

最近在研究各种持续集成工具的使用,比较了目前几个主流的ci工具,比如:cruise control、hudson、continuum后,考虑到continuum是ci的新秀,和maven又同属于一个组织(apache software foundation),想必有天然的兼容性(纯属个人猜想),决定先研究apache continuum,经过3天的研究和实验,终于完成了持续集成中一些基本功能的使用配置和测试。说句实话对于apache continuum的研究还是要有些基础的,首先需具备一定的maven知识;其次是有些e文水平,因为continuum是ci 新秀,相关实践人员发布的文章较少,由此是中文文章少的可怜,所以主要是参照其官方网站。如:http://continuum.apache.org/docs/1.3.6/index.html。现在开始一步步实践continuum吧!

 

1.环境准备

 

既然ci依赖于maven,首先要下载maven,并进行配置。maven下载地址http://maven.apache.org/download.html,为了方便部署建议下载继承了容器环境的bin包。版本选择2.2.1 ,windows用户下载apache-maven-2.2.1-bin.zip,linux用户下载apache-maven-2.2.1-bin.tar.gz。解压包后将maven bin目录添加的系统path环境变量中,这个便于ci能找到maven命令。

 

下载continuum包,地址:http://continuum.apache.org/download.html,笔者研究时文档版本是1.3.6 GA,1.4.0(beta)版本已出,也下载1.4.0试用了,可惜果然是beta,就发现了一个邮件通知发送时出现NullPointerException错误。所以以1.3.6为例介绍。windows用户下载apache-continuum-1.3.6-bin.zip包,linux下载apache-continuum-1.3.6-bin.tar.gz包,下载后解压到相应目录。

 

2.修改配置

 

windows中continuum的目录结构如下:                         linux目录结构如下:

a)修改集成的jetty服务的端口号

 

找到conf文件夹里的jetty.xml配置文件,搜索到jetty.port属性,修改端口号为你所想要的,默认是8080;

 

        b)设置邮件服务配置用于发送集成情况邮件给组员

 

continuum除了支持mail方式还支持 IRC Jabber MSN Wagon方式,我们已常用的mail方式为例。通用在上面的jetty.xml文 件里找到如下文本段:

 

      <New class="org.mortbay.naming.factories.MailSessionReference">

        <Set name="user">continuum</Set>

        <Set name="password">continuum@yeah</Set>

        <Set name="properties">

          <New class="java.util.Properties">

            <Put name="mail.smtp.host">smtp.yeah.net</Put>

          </New>

        </Set>

      </New>

设置你所用的邮件服务的user(建议在贵公司的邮箱里开通一个continuum@company.com邮箱作为邮件通知的服务邮箱, 如果不方便可到支持smtp协议的邮件服务商那里申请一个帐号),设置所申请邮件帐号的password,在设置mail.smtp.host为服务 邮箱的host,我申请的是网易的yeah邮箱,所以mail.smtp.host为smtp.yeah.net。还有重要一点:很多邮箱需要登录验证,所以 要在<Put name="mail.smtp.host">smtp.yeah.net</Put>一行下面添加一行<Put name="mail.smtp.auth">true</Put> 配置。

上述地方设置,邮件设置还差一步就ok了,在continuum的目录apps/continuum/WEB-INF/classes/META-INF/plexus/application.xml文件里找到下面两行:

 

        <from-mailbox>continuum@yeah.net</from-mailbox>//设置continuum发送的通知邮件显示的邮箱帐号,可以和发送有不一致哦!

        <from-name>continuum-uf-phospher</from-name>//显示通知邮件的发件人

设置这两处后,邮件设置即宣告完成。就等着收邮件吧。

 

3.添加项目

 

前两步工作完成后,到bin目录下启动continuum ,continuum支持console 和 后台运行模式 ,在window cmd 命令行里键 入continuum console/start 命令启动服务,linux 键入 ./continuum console/start启动服务。在浏览器里键入 http://yourserverip:yourport/continuum迎来的一个见面是设置admin账户,这是你自己的事情了,笔者就不多说了。其次是一般路径设置,可以采用默认设置,等以后你熟悉了再修改。

首先要在你的项目pom文件中添加这段声明:

 

     <scm>

   <connection>scm:svn:http://61.190.67.236:81/svn/repository/SGPool/trunk</connection><!--svn是scm的类型,也可以是cvs-->

     </scm>

 

设置完成,进入最关键一步,请准备一个简单的maven项目,并checkin 到scm系统,笔者采用的是svn。然后点击左边菜单的添加添加Maven 2.0+项目按钮,页面如下图:

 

各项设置:

pom url指向你项目的主pom.xml文件的url,格式如下: scm:svn:http://61.190.67.236:81/svn/repository/mvnapp/trunk,

用户名和密码,如果你的scm有用户名密码就要输入你的账户信息

项目分组先选择default project group

构建定义模板,选择default maven 2 template 和你建项目对应哦

 

添加项目后,就可以构建项目了。先可以按照默认计划时间去自动构建,continuum 默认执行maven pom的默认构建目标。

如果想要更高级的应用,如多个子项目的构建,修改执行计划。你可以自己研究,或参考笔者后续的博文。

 

4.添加通知人员

 

添加通知人员有两种方式,在continuum 的项目主页里的通知人员出,逐个添加即可,可以设置被通知人员接收邮件类型。这样每次构建结果都会按照你设置的类型发给被通知人员了。

 

5.生成站点

 

continuum处理默认的构建目标定义外,还可以自定义很多构建目标,其中很重要的一点就是生成包含了各种测试报告的项目 site了。

可以添加clean site-deploy 构建定义。要实现自动发布站点的目标,还要在pom.xml中添加如下声明:

 

<distributionManagement>

<site>

<id>SGPool.website</id>

<url>dav:http://61.190.67.236:81/site/SGPool</url>

</site>

</distributionManagement>

 

 

从配置我们可以看出,有个dav的东西,这个表明部署使用的协议为dav,这就要求在你的站点服务软件那里要开放dav功能,如 apache ,iis等web服务器都对此有支持。具体配置方式可以google下,不在此详述了。

 

经过这5步,continuum的应该有的基本目标就实现了,更多更高级的特性研究,待续中......

 

最后强调一点,pom.xml文件用utf-8格式保存,否则continuum显示pom文件中的诸如开发者,项目名的中文信息是乱码

 

有任何问题都可以mail to hbqian@cn.ufintiy.com 或 qianhoubing@163.com , qq:158681110 随时接受你的任何问询。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值