Jenkins是一个CI工具。它可以持续编译,运行你的代码;运行UT或集成测试;将运行结果发送至邮件,或展示成报告。。。
这样做的最终目的是:
让项目保持健康的状态。如果任何checkin break了build,每个人都会在最短的时间内通知到,然后问题被fix。接下来的开发将建立在一个健康正确的基础上,而不是任由问题累积,最后失控。
最后,你的项目随时可以被deliver给用户,因为,你的项目每一天都在健康,茁壮的生长。这就是CI的意义所在。
Jenkin和cruisecontrol
Jenkins和cruisecontrol都是CI工具,二者在CI中发挥的作用完全一致。
而Jenkins作为新一代的CI工具,渐渐开始取代cruisecontrol。二者都是java程序,但:
1,Jenkins提供更为友好的用户界面,而cruisecontrol在界面方面糟糕的几乎等于没有。
2,Jenkins内置的功能提供了极大的便利,不论是新建一个build,还是日常使用,你需要做的大部分时候仅仅是在用户界面上点击而已。
在cruisecontrol新建build是通过创建config.xml来完成的。它仅仅提供非常有限的功能,很多时候你会发现,需要自己完成很多工作。
3,Jenkins作为一个欣欣向荣的开源项目,有大批的plugin。当你发现需要一个Jenkins本身并不提供的功能是,搜索一下plugin,总会有收获。非常多的流行工具如JBehave,cobertura都提供jenkins插件。
而针对cruisecontrol的plugin却很少。
4,Jenkins友好的用户界面让学习成本很少,你可以在最短的时间内开始你的工作。
事实上,Jenkins是我见过的最好的开源项目之一,它简洁实用的用户界面设计,完善的文档,丰富的插件。当你开始使用它,你就会爱上它。
当你需要一个build工具时,Jenkins几乎是当下的不二选择。
Jenkins和Hudson
Jenkins起源于Hudson。Hudson在商业软件的路上继续前行,而Jenkins则作为开源软件,从hudson分支出来。
因此现在的jenkins和hudson非常类似,但是随着二者各自的发展,已经有了一些不同。
要想更多的了解Jenkins,当然最好是访问它的官方网站。也可以参考我的下一篇文章:
Jenkins(二) http://blog.csdn.net/onlyqi/article/details/7076915
至少和官网比起来,它是中文的~