2012 年 7、8 月份,我们逐渐了解了持续集成的概念,同时我们家庭作坊的dailybuild方式不断爆出各种问题,并且已经无法满足日益增长的各种需求。

我们开始探索持续集成的不同实现方式,首先我们关注业界非常流行的持续集成平台:

  • CruiseControl (http://cruisecontrol.sourceforge.net/)
  • Hudson (https://hudson.dev.java.net/)
  • LuntBuild (http://luntbuild.javaforge.com/)
  • TeamCity (http://www.jetbrains.com/teamcity/)
  • AntHill Pro (http://www.anthillpro.com/)
  • Bamboo (http://www.atlassian.com/software/bamboo/)
  • QuickBuild (http://www.pmease.com/)

根据我们的需求和每种持续集成平台的特点,我们初步决定用hudson来作为验证。


持续集成平台无非包含如下几个方面功能:

1、流程(一个代码下载、编译、代码检查等工作的过程我们称之为流程)调度

2、各种代码检查工具以及命令的支持

3、结果消息推送

4、流程执行信息展示

5、其他

使用hudson,初步的把我们一个工程的所有功能点都配置完成,说一说hudson配置过程的感受:

1、hudson 的安装和启动非常方便

2、流程配置可以界面话,但是界面不是很友好(插一句,hudson的插件模式还很方便的,正常来说如果你有时间也可以通过开发一个配置界面的插件来满足自己的配置需要)

3、流程的建立主要还是ant 或maven 脚本、批处理脚本以及shell 脚本的编写,通过hudson平台来串联

4、hudson 权限管理已经存在,可以根据不同的用户赋值不同的权限。

5、hudson 一个流程中执行单元的并发执行以及跨主机配置非常的不方便。

6、hudson 邮件推送可以自定义邮件模板,根据hudson提供的一些公共属性获取对应的内容,这方面设计的很不错,但是针对流程不易让对应的相关人员主动订阅

7、hudson 的执行单元执行结果不易分析入库

针对我们公司的一些实际需求,持续集成平台不仅将来需要这些功能,同时还必须可以和我们公司内部一些其他平台能够深度的集成,对于结果展示我们的个性化定制需求也非常的多。

前期我们考虑只需一个调度平台、展示以及推送的功能既可,同时考虑到后期的扩展,经过各种权衡,可能hudson的学习以及各种插件开发比我们自己开发一套持续集成平台成本更加的高,最终我们决定建设自己的持续集成平台。

ZTESoft 持续集成 编年史 之 持续集成探索---平台选择的更多相关文章

  1. ZTESoft 持续集成 编年史 之 持续集成建设---自主研发(总括)

    最终选择了自主研发,考虑到我们团队对java以及flex知识的储备,展示层使用夸浏览器的flex开发,后端业务层使用java. 一.方案: BEC + ZCIPAgent + ZCIPServer + ...

  2. 持续集成篇 --Hudson持续集成服务器的安装配置与使用

    样例项目参考视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4.221  8G内存 ...

  3. 持续集成篇_08_Hudson持续集成服务器的使用(自动化编译、分析、打包、部署)

    持续集成篇_08_Hudson持续集成服务器的使用(自动化编译.分析.打包.部署) 1.创建任务 svn用户验证 验证通过 *****五颗*表示每分钟检查svn路径是否有变更,有变更就会重新构建,相当 ...

  4. 浅谈持续集成(CI)、持续交付(CD)、持续部署(CD)

    CI/CD是实现敏捷和Devops理念的一种方法,具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的 整个生命周期(从集成和测试阶段,到交付和部署).这些关联的事务通常被统称为"CI ...

  5. Jenkins持续部署-Windows环境持续部署探究1

    目录 Jenkins持续部署-Windows环境持续部署探究1 目录 前言 目的 方案流程 技术实现 PowerShell FTP上传插件 环境变量插件 脚本执行 远程调用 升级服务 启动服务 总结 ...

  6. Jenkins+MSbuild+SVN实现dotnet持续集成 快速搭建持续集成环境

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建dotnet持续集成环境 一.准备工作 1.系统管理-->管理插件-->可选插件中找到MS ...

  7. 【持续集成】使用Jenkins实现多平台并行集成

    使用Jenkins实现多平台并行集成 二月 15, 2012 暂无评论 我们的后端C应用都是支持跨平台的,至少目前在Linux和Solaris上运行是没有问题的,这样一来我们在配置持续集成环境时就要考 ...

  8. Gitlab+Gitlab-CI+Docker实现持续集成(CI)与持续部署(CD)

    写在前面 记录一下,一个自动化开发部署项目的构建过程与简单使用,实现真正的DevOps gitlab安装 步骤一:安装依赖 yum -y install git gcc glibc-static te ...

  9. Jmeter+Jenkins持续集成(三、集成到Jenkins)

    1.Jenkins全局工具配置 登录jenkins->系统管理->Global Tool Configuration (1)JDK配置 (2)Ant配置 配置信息按照机器上实际安装的来填写 ...

随机推荐

  1. 简单的javascript抽奖程序

    <html>  <head>   <title>手机号码抽奖程序</title>   <script>    //声明一个数组装住号码,可根 ...

  2. JavaScript编程:java事件模型

    3.java事件模型: 传统事件处理程序指派方法:          1.var odiv=document.getElementById("div1");             ...

  3. 【OpenCV】漫水填充

    漫水填充:也就是用一定颜色填充联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效果;漫水填充经常被用来标记或分离图像的一部分以便对其进行进一步处理或分析,也可以用来从输入图像获取掩码区 ...

  4. 设计模式6:Composite

    Entry.java: package gendwang.cisco.com; public abstract class Entry { private int height = 0; privat ...

  5. android中保存Bitmap图片到指定文件夹中的方法

    /** 保存方法 */  public void saveBitmap() {   Log.e(TAG, "保存图片");   File f = new File("/s ...

  6. python httpConnection详解

    模块urllib,urllib2,httplib的区别 httplib实现了http和https的客户端协议,但是在python中,模块urllib和urllib2对httplib进行了更上层的封装. ...

  7. Citrix 服务器虚拟化之三十二 XenConvert

    Citrix 服务器虚拟化之三十二  XenConvert 简介: Citrix XenConvert 是用于实现物理到虚拟(P2V)转换的工具,可将工作负载从运行 Windows 的服务器或桌面计算 ...

  8. 手机SIM卡无法识别解决方案

    SIM卡是工作中测试用的,经常插拔到不同的手机,前两天SIM卡放到手机中都能正常识别,今天插入到另一款手机中发现无法识别.心里糟了,是不是卡坏了,根据之 前的直觉,在公司找了一块橡皮,在SIM卡的芯片 ...

  9. Hadoop大数据零基础高端实战培训系列配文本挖掘项目

  10. hdu 4507 数位dp(求和,求平方和)

    http://acm.hdu.edu.cn/showproblem.php?pid=4507 Problem Description 单身! 依旧单身! 吉哥依旧单身! DS级码农吉哥依旧单身! 所以 ...