zoukankan      html  css  js  c++  java
  • 搭建你的持续集成server

    CruiseControl是CIserver的老者,诞生已是多年,在很多方面,CruiseControlserver已经成为持续集成实践的同义词。而如今,CruiseControl已发展成为一个家族式系统,包含CruiseControl.java、CruiseControl.net、CruiseControl.ruby等适应不同语言环境的实现,其强大的插件和扩展能力也是诸多同类系统无法比你的。而在这里,我仅仅介绍该家族的本家CruiseControl.java,即CruiseControl。CruiseControl是一个不错的持续集成server,只是国内社区的普遍反应是:它的配置太麻烦,无从下手。从本篇文章開始,我将逐步介绍CruiseControl的环境搭建与配置,以及持续集成中的一些实践。我们将从最简单的使用方式(stand-alone)開始,以便您能够高速開始您的持续集成之旅,而不必面对“千奇百怪”的问题。
    好!先让我们简单搭建个持续集成server再说吧


    一、我使用的CruiseControl版本号

    1. CruiseControl是一个java开源项目,我将以它近期的一个分支版本号来介绍它的使用。CruiseControl近期公布的版本号是V2.7.1。这个分支版本号就是在V2.7.1基础之上。
    2. 这个分支版本号包括一个Dashboard,能够方便地看到各项目的构建状态。
    3. 这个分支版本号当然还支持多个Build Loop,你能够在多个机器上部署独立的Build Loop,从而建立你自己的Build Grid。

    二、得到CruiseControl的分支版本号

        要得到这个分支版本号,你能够使用subversion不用不论什么password从CruiseControl的Repository中检出。命令例如以下:
    svn checkout https://cruisecontrol.svn.sourceforge.net/svnroot/cruisecontrol/branches/cce/cruisecontrol/

    三、构建CruiseControl

          
    0.    你机器上至少要安装有JAVA 1.4,并在环境变量中设置有JAVA_HOME,并把java/bin增加到path中。CruiseControl自带了ANT,所以不用事先安装。

    1. 从源码中构建CruiseControl

           假设从源代码中构建CruiseControl,要确保你的机器能够訪问互联网。由于构建过程中要检查一些license。另外,最好有SVN client软件,由于在构建时,它会用到javahl。
           在刚刚checkout出来的CruiseControl文件夹下,有一个批处理文件,名为release.bat。执行这个批处理文件,你会在target文件夹下发现一个压缩文件,名这cruisecontrol-bin-2.7.2-dev.zip。将其解压到一个文件夹,我们这里解压到C盘根文件夹下。解压后,文件夹结构例如以下:
    文件夹结构
          2.  直接使用已构建完毕的CruiseControl 
    假设你不想做这一步,也能够在binaryrelease文件夹下发现解压后的文件,把它们复制到对应的文件夹下也能够。

    四、执行CruiseControl

       CruiseControl能够执行在多种应用server中,当然,它自己也捆绑了一个开源应用server,那就是Jetty 6。为了尽快建立我们的环境,我们这里临时使用它自己捆绑的Jetty,高速開始我们的持续集成之旅。
       直接执行CruiseControl文件夹下的CruiseControl.bat,它会自行启动Jetty6,当从Console中看到它启动完毕后,你就能够在浏览器中訪问http://localhost:8080/dashboard,此时你会看到一个名为connectFour的演示样例项目在Dashboard上显示了。

    Build Dashboard

    (假设你足够快的话,你会发现Dashboard 上的小方块是从灰色变成深绿色的。为什么呢?我们以后再说。)
    “绿色”表示该项目构建通过。假设要是有多个项目的话,应该看到多个小方块。

    点击“Builds” Tab页,就到了 Builds 页。这一页会以列表的方式显示全部的项目。当前仅仅有一个项目,所以在列表中仅仅有一行,例如以下图所看到的:
    Builds Page
     在该页面上点击某个项目时,会打开Build Detail页,显示该项目近期一次Build的信息。页面右側是该项目全部历史构建信息。你会发现,这时connectFour项目有两个构建历史版本号,一个是刚刚构建完毕的,还有一个是两年前的构建。这些信息是来自于CruiseControl对该项目的日志文件。此时,点击这两个构建结果中的不论什么一个,都会打开该次构建的Build Detail页面,显示相关的构建历史信息。例如以下图所看到的:
    Build Detail

    我们将在下一篇文章中简要介绍CruiseControl的配置文件,为您增加自己的构建项目做准备。

  • 相关阅读:
    opencv 遍历Mat对象中数据方法-转
    JVM OutOfMemoryError 分析
    hibernate validation HV000030: No validator could be found for constraint
    通过aop实现rpc统一参数校验&异常捕捉
    java8 lambda groupingby 分组保持原来顺序
    递归判断素组是否有序
    dubbo 直连
    Linux 删除openjdk
    telnet命令调用远程dubbo 接口
    git submodule ssh key
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3856252.html
Copyright © 2011-2022 走看看