转载自Scrum中文网 http://www.scrumcn.com/agiledev/html/?183.html
在持续集成
-
敏捷开发的基石的
第一部分我们介绍了持续集成的概念以及价值,这个部分我们来介绍持续集成的工具。
持续集成有那些工具?
持续集成的工具现如今也是百花齐放,各有千秋,接下来我们主要介绍一下目前主流的持续集成工具。
我们将从以下几个方面来进行介绍;
1. 厂商
2. 支持的编程语言
3. 价格
4. SCM支持程度
5. 构建管理
6. 消息通知机制
7. 构建工具支持
8. 项目管理工具集成
9. 测试工具集成
10. 安装及配置
11. IDE集成
首先,我们来看一下持续集成领域的老牌—CruiseControl
http://cruisecontrol.sourceforge.net/
CruiseControl
厂商
|
ThoughtWorks
|
开发语言
|
JAVA,也有.net和ruby版本
|
是否开源
|
是
|
价格
|
免费
|
SCM
支持程度
|
ClearCase
,
VSS, CVS,
Subversion, PVCS
等
|
构建管理
|
并行构建,分布式构建,增量构建,人工强制构建,
SCM
触发构建等都有支持
|
消息通知机制
|
Email
,
Run executable,FTP,IRC,Jabber,Lotus
Sametime,RSS,SCP
,
Windows
System Tray
,
Formatted Logging
,
Yahoo
Messenger
,
X10
|
构建工具支持
|
Shell
脚本与命令行,
Ant,
OpenMake Meister, Maven, Maven2,
NAnt
|
项目管理工具集成
|
项目管理工具
CruiseControl
支持了
Rally
和
VersionOne
|
测试工具集成
|
Agitar
,
JUnit result
rendering
|
安装与配置
|
有
windows
安装程序,
Self contained distribution
(except SCM clients)
,
N
无需修改构建脚本,支持多个项目,使用
XML
配置文件
|
IDE
集成
|
Eclipse Plugin
,
IntelliJ
Plugin
|
接下来,我们来介绍一下持续集成领域的另外一个老牌工具
LuntBuild
,它的商业版本是
QuickBuild.
厂商
|
PMEase
|
支持的编程语言
|
Java
|
是否开源
|
是
|
价格
|
免费
|
主流
SCM
支持程度
|
Clear Case
,
VSS,
CVS,
Subversion
|
构建管理
|
并行构建
,
增量构建,人工强制构建,
SCM
触发构建
|
消息通知机制
|
Email
,
Run executable
,
Jabber
,
Lotus Sametime
,
RSS
,
Windows System Tray
,
Formatted Logging
,
MSN Messenger
|
构建工具支持
|
Shell
脚本与命令行,
Ant,
OpenMake Meister, Maven,
Maven2
,
MSbuild
,
NAnt
,
Rake
(Ruby)
|
项目管理工具集成
|
无
|
测试工具集成
|
JUnit result rendering
,
Selenium
result rendering
,
PHPUnit
result rendering
,
MSTest
result rendering
|
安装与配置
|
有
windows
安装程序,
Self contained distribution
(except SCM clients)
,
N
无需修改构建脚本,支持多个项目
|
IDE
集成
|
Eclipse
Plug-in
|
最后,我们来介绍一下目前使用最广的持续集成工
Hudson
,它是持续集成领域的后起之秀:
厂商
|
Java.net
|
支持的编程语言
|
Java
|
是否开源
|
是
|
价格
|
免费
|
主流
SCM
支持程度
|
Clear Case
,
VSS,
CVS,
Subversion
,
PVCS
等,
SCM
支持最为完善
|
构建管理
|
并行构建,分布式构建,增量构建,人工强制构建,
SCM
触发构建等都有支持
|
消息通知机制
|
Email
,
Run executable
,
FTP
,
IRC
,
Jabber
,
Lotus Sametime
,
RSS,SCP,Windows System Tray,Formatted
Logging
|
构建工具支持
|
Shell
脚本与命令行,
Ant,
Groovy,
OpenMake Meister, Maven,
Maven2
,
MSbuild
,
NAnt
,
Rake
(Ruby)
|
项目管理工具集成
|
无
|
测试工具集成
|
CppUnit result rendering
,
JUnit result rendering
,
NUnit result rendering
,
Selenium result
rendering
,
PHPUnit
result rendering
,
MSTest
result rendering
,
SilkCentral
,
Clover
result rendering
,
PMD
result rendering
|
安装与配置
|
有
windows
安装程序,
Self contained distribution
(except SCM clients)
,
N
无需修改构建脚本,支持多个项目,自动配置构建脚本
|
IDE
集成
|
Eclipse Plug-in
,
IntelliJ
Plugin
|
其它的一些持续集成工具
•
hudson
(http://hudson-ci.org/
)
• TeamCity (http://www.jetbrains.com/teamcity/
)
• AntHill
Pro (http://www.anthillpro.com/
)
• Bamboo
(http://www.atlassian.com/software/bamboo/
)
• QuickBuild
(http://www.pmease.com/
)
• Apache
Continuum ( http://continuum.apache.org/
)
等等。
分享到:
相关推荐
【第三届敏捷大会幻灯片】是关于敏捷开发领域的一次重要会议记录,主要围绕着敏捷方法的演进设计展开。这次大会由Paulo Caroli主持,他是一位在敏捷开发领域有着深厚造诣的专家,致力于推动软件开发的高效与灵活。...
2. **第二章 程序员与程序经理** 本章可能讨论了程序员的角色和职责,以及如何转变为有效的程序经理。程序员不仅要具备编程技能,还需要良好的沟通、团队协作和项目管理能力。程序经理则需要更高的战略规划和领导力...
此外,第二部分教程可能还会涉及集成测试、系统测试、验收测试等不同层次的测试,以及回归测试、持续集成和持续测试的概念。测试人员需要了解如何在不同测试阶段定义合适的测试策略和计划。 最后,测试文档的编写也...
2. **开发流程**:开发流程是任何软件开发项目的基石,2.1 过程介绍中可能涵盖了敏捷开发的核心步骤,如迭代开发、持续集成、用户故事管理、每日站会等。它强调了快速反馈、适应变化和团队协作的重要性。 - **2.3 ...
需求分析是软件开发的第一步,它定义了系统应具备的功能和非功能需求。文档通常包括用户需求、业务流程、功能需求、性能指标和约束条件等内容。通过对用户需求的深入理解,团队可以明确软件的目标和预期效果,避免...
7. **持续集成/持续部署(CI/CD)**:如Jenkins、GitLab CI/CD等工具的配置文档,说明如何自动化构建、测试和部署Java应用。 8. **项目管理文档**:包括项目计划、里程碑、风险管理和问题跟踪。敏捷开发方法如Scrum或...
10. **持续集成/持续部署(CI/CD)**:利用Git进行版本控制,Jenkins或Travis CI等工具实现自动化构建和部署,可以提高开发效率并减少错误。 11. **项目管理**:敏捷开发方法,如Scrum或Kanban,可以帮助团队有效...
云原生是一种基于微服务、容器、DevOps和持续交付等技术的软件开发方法论,强调快速迭代和敏捷响应变化。Kyma正是在这种背景下应运而生,它充分利用了这些技术,提供了高度可扩展和可配置的架构。 Kyma的主要特点...
2. **第二章 软件开发模型**:详细讲解了不同的开发模型,如经典的瀑布模型、增量模型、螺旋模型以及近年来流行的敏捷开发模型,如Scrum和Kanban,让学生理解不同模型在不同项目中的适用性。 3. **第三章 结构化...
- 敏捷开发强调迭代和增量开发,面向对象设计与实现可以很好地适应这种开发方式,通过持续集成和反馈改进设计。 - XP(极限编程)和Scrum等敏捷方法论中,如何利用面向对象思想进行需求分析、测试驱动开发和重构。...
4. **软件工程方法**:包括敏捷开发、Scrum框架和持续集成/持续部署(CI/CD)的概念,这些都是现代软件开发流程中的重要组成部分。 5. **Web基础知识**:对于前端开发者,HTML、CSS和JavaScript是必修课,用于构建...
7. 极限编程(XP):作为敏捷开发的一种实践,极限编程强调简单的设计、持续集成、测试驱动开发等原则,以减少风险和提高软件质量。 8. 软件质量保证(SQA):SQA是确保软件产品符合预定质量标准的过程,包括质量...
2. 自动化测试:使用工具如Selenium、Junit、Appium等提高效率和准确性,尤其适用于回归测试和持续集成。 3. 白盒测试:了解代码结构,从内部逻辑进行测试。 4. 黑盒测试:不考虑内部结构,仅根据功能需求进行测试。...
在IT行业中,软件工程技术及其国家标准是至关重要的领域,它们规定了软件开发的流程、方法、工具和质量标准,确保软件产品的高效、可靠和可持续性。本文将深入探讨这个主题,帮助那些准备考取软件工程师资格的人员...
8. **持续集成与持续交付(CI/CD)**:随着DevOps文化的普及,持续集成和持续交付成为现代软件开发的基石。书中会介绍如何实现自动化测试和部署,以加快交付速度并确保稳定性。 9. **软件架构**:良好的软件架构是...
10. **持续集成与自动化**:随着敏捷开发的普及,持续集成和自动化测试成为现代软件开发的基石,书中也对此进行了介绍。 书中的例子贯穿始终,以实际的代码示例来说明理论,帮助读者更好地理解和应用这些概念。通过...
#### 第2章 面向对象编程基础 面向对象编程的基础主要包括以下几个方面: - **类与对象**:类是对一组相似对象的描述,它定义了对象应该具备的属性和方法。而对象则是类的一个具体实例。 - **封装**:封装是将对象...
第二,有效的沟通与协作是精细化管理的关键。团队成员需要清楚地理解各自的角色和责任,通过有效的沟通工具和流程,确保信息的准确传递,避免误解和错误。在PPT中,可能会阐述如何利用项目管理软件、敏捷开发方法...
最后一章通常是对前面内容的总结,并可能展望软件工程的未来趋势,如云计算、大数据、人工智能在软件开发中的应用,以及持续集成和持续交付等现代开发实践。 这个压缩包提供了全面的软件工程和项目管理知识,适合...
云原生环境强调微服务架构、容器化、持续交付和敏捷开发。Zope App Form能够帮助开发者构建可扩展、高可用的应用,其组件化的设计理念与微服务架构相契合,使得每个服务都可以独立开发和部署。 在标签中提到了...