一步一步搞定hudson+ant+JUNIT+EMMA 持续集成(CI)服务器环境搭建(1)

  • 作者
  • KING
前言

  什么是持续集成,为什么要持续集成?本文对持续集成前后两种开发实践做了对比分析,从而直观的感受到持续集成的好处。

传统开发模式存在的问题

    1.Bug总是在最后才出现。

    2.越到项目后期,问题越难解决。

    3.软件交付时机无法保障。

    4.程序经常需要变更。某些项目中,程序会经常需要变更,特别是敏捷开发实践者。

    5.无效的等待变多。开发在等待集成其他人的模块,测试人员在等待开发修复Bug,产品经理在等待新版本上线给客户做演示,项目经理在等待其他人提交代码。

    6.用户的满足度低。

什么是持续集成
    在软件工程中,持续集成(CI)是指将所有开发者的工作副本每天多次合并到主干的做法。Grady Booch 在1991年的 Booch method 中首次命名并提出了 CI 的概念,尽管在当时他并不主张每天多次集成。而 XP(Extreme programming,极限编程)采用了 CI 的概念,并提倡每天不止一次集成。

持续集成服务器
    持续集成服务器就是能够采用自动化的手段,来解放人的双手,实现项目持续集成的工具。与之配套的软件有TeamCity、Hudson、Go,等。

    本主将会就利用hudson+ant+JUNIT+EMMA 搭建持续集成环境,做一步一步的详细解剖.

持续集成工作流程

    其流程大致如下图:

    hudson2.jpg

步骤

    

1.安装tomcat

    1.1 wget tomcat

    1.2 tar -zxvf ....

 

2.安装ant

   2.1 wget ant

   2.2 tar -zxvf

   2.3添加环境变量  vi /etc/profile -->i --最后插入  eport ANT_HOME=/root/soft/apache-ant-1.8.4 -->esc,:wq!

        --->保存,退出,然后运行:

                #source /etc/profile

                不报错则成功。

 

 

3.安装hudson

    下载hudson包之后,然后解压将war包,丢到tomcat就OK了.

 

    比较好的资料:  http://www.cnblogs.com/fromweibo/archive/2011/11/18/2254705.html

    按照此文章,基本没有问题.下面是我遇到的几个问题.

 

  A:      改默认目录:找到tomcat/webapp/huson/WEB-INF/web.xml  (如果没有该目录,先运行一次tomcat)

        找到如下结点:

    <env-entry>
            <env-entry-name>HUDSON_HOME</env-entry-name>
            <env-entry-type>java.lang.String</env-entry-type>
            <env-entry-value></env-entry-value>
      </env-entry>
         <env-entry-value></env-entry-value>
        --->改成:<env-entry-value>/opt/app/hudson</env-entry-value>

      然后重启tomcat即可.

 

   B:系统设置从出现如下信息:

        Your container doesn't use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc, this will cause problems. SeeContainers

        and                 Tomcat i18n for more details.

 

        想修复这个问题,可以在 Tomcat 的服务器配置文件中添加 URIEncoding 属性。

        找到tomcat的配置文件server.xml里找到如下结点


        <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"/>

        在最后添加如下属性:URIEncoding="UTF-8" . 如下:


        <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>

 

2.配置hudson

    参照http://www.docin.com/p-367524943.html

 

3.下载EMMA插件

    选中点安装即可.如果不能连接外网的话,从外网采用下载方式,将下面来的hpi传到服务器.然后重启即可

 

4.新建项目,然后build即可.-------->见第二篇.

    (其实最主要是的利用项目的ant脚本,进行编译与发布工作)

一步一步搞定hudson+ant+JUNIT+EMMA 持续集成(CI)服务器环境搭建(1)

前言

  什么是持续集成,为什么要持续集成?本文对持续集成前后两种开发实践做了对比分析,从而直观的感受到持续集成的好处。

传统开发模式存在的问题

    1.Bug总是在最后才出现。

    2.越到项目后期,问题越难解决。

    3.软件交付时机无法保障。

    4.程序经常需要变更。某些项目中,程序会经常需要变更,特别是敏捷开发实践者。

    5.无效的等待变多。开发在等待集成其他人的模块,测试人员在等待开发修复Bug,产品经理在等待新版本上线给客户做演示,项目经理在等待其他人提交代码。

    6.用户的满足度低。

什么是持续集成
    在软件工程中,持续集成(CI)是指将所有开发者的工作副本每天多次合并到主干的做法。Grady Booch 在1991年的 Booch method 中首次命名并提出了 CI 的概念,尽管在当时他并不主张每天多次集成。而 XP(Extreme programming,极限编程)采用了 CI 的概念,并提倡每天不止一次集成。

持续集成服务器
    持续集成服务器就是能够采用自动化的手段,来解放人的双手,实现项目持续集成的工具。与之配套的软件有TeamCity、Hudson、Go,等。

    本主将会就利用hudson+ant+JUNIT+EMMA 搭建持续集成环境,做一步一步的详细解剖.

持续集成工作流程

    其流程大致如下图:

    hudson2.jpg

步骤

    

1.安装tomcat

    1.1 wget tomcat

    1.2 tar -zxvf ....

 

2.安装ant

   2.1 wget ant

   2.2 tar -zxvf

   2.3添加环境变量  vi /etc/profile -->i --最后插入  eport ANT_HOME=/root/soft/apache-ant-1.8.4 -->esc,:wq!

        --->保存,退出,然后运行:

                #source /etc/profile

                不报错则成功。

 

 

3.安装hudson

    下载hudson包之后,然后解压将war包,丢到tomcat就OK了.

 

    比较好的资料:  http://www.cnblogs.com/fromweibo/archive/2011/11/18/2254705.html

    按照此文章,基本没有问题.下面是我遇到的几个问题.

 

  A:      改默认目录:找到tomcat/webapp/huson/WEB-INF/web.xml  (如果没有该目录,先运行一次tomcat)

        找到如下结点:

    <env-entry>
            <env-entry-name>HUDSON_HOME</env-entry-name>
            <env-entry-type>java.lang.String</env-entry-type>
            <env-entry-value></env-entry-value>
      </env-entry>
         <env-entry-value></env-entry-value>
        --->改成:<env-entry-value>/opt/app/hudson</env-entry-value>

      然后重启tomcat即可.

 

   B:系统设置从出现如下信息:

        Your container doesn't use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc, this will cause problems. SeeContainers

        and                 Tomcat i18n for more details.

 

        想修复这个问题,可以在 Tomcat 的服务器配置文件中添加 URIEncoding 属性。

        找到tomcat的配置文件server.xml里找到如下结点


        <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"/>

        在最后添加如下属性:URIEncoding="UTF-8" . 如下:


        <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>

 

2.配置hudson

    参照http://www.docin.com/p-367524943.html

 

3.下载EMMA插件

    选中点安装即可.如果不能连接外网的话,从外网采用下载方式,将下面来的hpi传到服务器.然后重启即可

 

4.新建项目,然后build即可.-------->见第二篇.

    (其实最主要是的利用项目的ant脚本,进行编译与发布工作)