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. 用angularjs开发下一代web应用(二):angularjs应用骨架(二)

    1.浅谈非入侵式JavaScript <div ng-click="doSomething()">...</div>这些指令和原来的事件处理器有下面不同之处 ...

  2. Effective C++_笔记_条款11_在operator=中处理“自我赋值”

    (整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 为什么会出现自我赋值呢?不明显的自我赋值,是“别名”带来的结果: ...

  3. Android——与查询联系人相关的3张表

  4. 重载(overload),覆盖/重写(override),隐藏(hide)

    写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖/重写(override),隐藏(hide).在早期的C++书籍中,常常把重载(overload)和覆盖(override)搞错 ...

  5. String,StringBuffer与StringBuilder差异??

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要地, String 类型和 StringBuffer 类型的主要性能差 ...

  6. ABAP 负号前置方法汇总

    ABAP 负号前置方法汇总 开发过程中有这样的一个需求,要求指定数字栏位负号前置: 方法一: PERFORM FRM_MOVE_DATA_MINUS CHANGING L_CHAR20. ” 负号前置 ...

  7. 使用微软Remote Desktop 手机远程控制 windows

    在我的电脑上右击选择“属性”,打开属性面板.然后点击左边的“远程设置”. 2/2 如果你要操作的计算机出入外网(大多数是家里网线进线直连电脑),就选择远程桌面选择框中的“允许运行任意版本远程桌面的计算 ...

  8. HDU--杭电--4504--威威猫系列故事——篮球梦--DP

    威威猫系列故事——篮球梦 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  9. JAVA的反射机制学习笔记(二)

    上次写JAVA的反射机制学习笔记(一)的时候,还是7月22号,这些天就瞎忙活了.自己的步伐全然被打乱了~不能继续被动下去.得又一次找到自己的节奏. 4.获取类的Constructor 通过反射机制得到 ...

  10. Swift - 运算符重载和运算符函数

    让已有的运算符对自定义的类和结构进行运算或者重新定义已有运算符的运算规则,这种机制被称为运算符重载. 1,通过重载加号运算符,使自定义的两个坐标结构体对象实现相加: 1 2 3 4 5 6 7 8 9 ...