Jenkins
什么是Jenkins
Jenkins是一个检测重复运行程序的程序,像构建一个软件项目,或者使用cron来执行的任务。在这些事情中,Jenkins主要关注下面两个工作:
* 持续构建/测试软件项目。类似CruiseControl或者DamageControl。在控制台,Jenkins提供一个简单易用的叫做持续集成系统,让开发者把修改更容易的集成到项目中。让用户更容易的获取一个新的版本。自动的,持续的构建新增功能。
- 监控构建过程。类似cron类的任务和procmail任务。即使是运行在远端的机器上。例如,使用cron你收到的只有一封规则的电子邮件,包含输出情况的电子邮件。内容取决于你。Jenkins保留这些输出,而且当有些事出错时提醒你变得很容易。
谁在用它
很多企业和组织在用。大部分的实例运行在内部,谷歌可以告诉你一个公开的可视的列表。我们也收集了一些在这里
特性
Jekins有以下特性
-
易于安装:只有java -jar jenkins.war. 或者把它部署在一个servlet容器。不需要额外安装不需要数据库。
-
易于配置: 可以完全通过web GUI来配置,包含了大量的错误检查和在线帮助。不需要在手动的解析xml,如果你想做也没问题。可以做。
-
支持变化列表:可以生成变化列表。以来代码版本库的提交。例如Subversion/CVS/Git。
-
永久链接:Jekins给出了大部分页面的可读的URLs。类似,最新版本等等,你可以很快的找到你需要的东西。
-
继承RSS/E-mail: 实时提醒。通过RSS或者email
-
给版本做标记
-
测试报告
-
分布式的构建
-
文件识别
-
支持插件
Jenkins最佳实践
带自动测试的持续集成诞生已经有几年了。持续集成的理念已经改变成公司如何看待构建管理,发布管理,部署自动化,和测试的结合。这个部分为Jenkins提供一些最佳实践。一个持续集成的解决方案提供给执行者,业务管理员,软件开发人员,架构师一个开发过程的更好的理解和工程的代码质量。通过开发周期。(参看Jenkins最佳实践)
介绍的文章
下面这些链接是介绍Jenkins的文章。
- http://linsolas.developpez.com/articles/hudson/ (French)
- http://www.slideshare.net/carlo.bonamico/continuous-integration-with-hudson/
- http://video.fosdem.org/2008/maintracks/FOSDEM2008-hudson.ogg video
- Introduction to Hudson
- Introduction and best practice by Kohsuke (Japanese)
- Introduction to Hudson (spanish)
- Kohsuke presenting Hudson in JavaZone 2009 (video)
- Hawebs.net docs for Hudson
- Continuous Integration in the Cloud with Hudson
- Doing More With Hudson
- Continuous Integration in the Cloud with Hudson
- Hudson presentation at San Francisco JUG by Kohsuke
- Continuous integration with Jenkins CI
- DZone ref card for Jenkins
测试驱动
参见这里