Jenkins权威指南 - (EPUB全文下载)

文件大小:0.56 mb。
文件格式:epub 格式。
书籍内容:

Jenkins权威指南
第1章 Jenkins简介
第2章 迈入Jenkins的第一步
第3章 安装Jenkins
第4章 配置Jenkins服务器
第5章 设置构建作业
第6章 自动化测试
第7章 Jenkins安全
第8章 通知
第9章 代码质量
第10章 高级构建
第11章 分布式构建
第12章 自动化部署和持续交付
第13章 Jenkins的维护
附录A 自动化你的单元和集成测试
索引
关于作者
封面介绍
第1章 Jenkins简介
简介
持续集成,也就是通常所说的CI(Continuous Integration),可以说是现代软件开发技术的基础。事实上,它是真正的游戏规则改变者——引进持续集成到公司,能从根本上改变一个团队对于整个软件开发过程的思考方式。它绝对有潜力去启用和触发一系列的增量式的过程改进,从简单的、有计划的、自动化的构建逐渐改进为可以持续交付投入生产中。一个好的持续集成基础设施可以简化开发过程直到部署,可以帮助开发人员更快地检测和修复bug,为所有开发和非开发人员提供一个有用的项目仪表盘,最后帮助团队交付更真实的业务价值给最终用户。每一个专业的开发团队,无论多小,都应该且有必要学习和实践持续集成。
持续集成基础
回想在使用持续集成之前的那些充满瀑布项目和甘特图的日子,开发团队的时间和精力都耗费在发布一个版本之前的那段时期里,也就是所谓的集成阶段。在这个阶段,某些开发人员或者小团队做出的代码改动,都会零零散散地整合进最终产品。这可是件有难度的工作,有时甚至仅集成一些冲突性的变更都会消耗数月之久的时间。而且不仅很难去预期会突然出现什么类型的问题,更难的是去修复它们,因为它可能会使你不得不去重写之前已经写了几周或者几个月的代码。这个过程不仅痛苦,而且充满了风险和危险,且往往会导致延迟重要交付、额外开销的后果,最终引来客户的不满。持续集成的出现就是为了定位和解决这些问题。
持续集成,就其最简单的形式来讲,就是一个能监控你版本控制系统变化的工具。无论任何时候,只要检测到有变化,这个工具就会自动编译和测试你的应用程序。如果出现问题,它就马上通知开发人员,以便他们可以立即着手解决这个问题。
持续集成可以做的事情当然还能更多。持续集成能帮你密切监视代码库的健康,自动监控代码质量和代码覆盖率度量,还能帮助你降低技术债务和减少维护成本。这些公开可见的代码质量度量可以使得开发人员为自己开发的高质量代码而自豪,并且激励他们继续努力去改善。结合自动化的端到端的验收测试,持续集成也可以作为一种沟通工具,清晰地发布和展现总体开发工作的当前状态。通过构建自动化部署过程,持续集成能大大简化和加速你的交付过程,自动化和一键部署应用程序的最新版本。
从本质上讲,持续集成是通过提供更快的反馈来降低风险的。首先,它被设计成用来更快地识别和修复集成以及回归相关的问题,目的是更平滑、更快的交付和更少的bug。通过更好地为技术和非技术团队成员提供项目状态的可视化,持续集成打开并改善了团队成员间的沟通渠道,同时鼓励他们协作解决问题和过程改进。通过把部署过程自动化,持续集成可以帮助你更快、更可靠、更轻松地把软件交付到测试人员和最终用户的手上。
自动化部署的想法设计是很重要的。事实上,理论上来讲自动化部署的过程可以使你能够推送每一个带有必要的自动化测试的构建到生产当中去。这种直接自动化部署每个成功的构建到生产当中的实践,就是所谓的持续部署。
单一的持续部署方式并不总是适合每个人。比如,很多用户并不喜欢一周内接二连三地部署新的版本,他们更喜欢一个可预见的(透明的)发布周期。除此之外,在真正部署一个新版本的时候,商业和市场营销也是需要考虑的重要方面。
上述这些持续部署需要考虑的东西,基本也是持续交付所需要考虑的,只是略有不同而已。使用持续交付,任何通过了相关自动化测试和质量关的构建,都能通过完全自动化且一键部署的方式被部署到生产中,并且在几分钟内交付给最终用户。当然,这整个过程并不是自动进行的:它是业务,而不是信息技术,需要决定一个最佳时机来交付最新的变化。
因此,持续集成技术,特别是持续部署和持续交付,就是为了更快地给最终用户提供价值。你的团队从一个小的代码改动到投入生产需要多长时间?这个过程会涉及多少可以提早修复的问题?你了解任何一个团队成员做出的代码修改吗?会让劳动密集型手工测试的QA团队花费多少时间?会涉及多少手动部署的步骤?大概只有少数人能真正了解上述全部问题。持续集成不是无所不能的,不过它确实能帮助你简化许多这样的问题。
持续集成可以说是一种思维工具集。想要充分地利用好持续集成,你的团队必须要先进入持续集成的思维方式中。例如,你的项目必须有一个可靠的、可重复的、自动化的构建过程,并且不涉及人工干预。能保证优先修复有问题的构建,而不是停滞不前、不管不理。这个部署过程应该是自动化的,不应该有任何的人工干预。由于持续集成服务器可信度的好坏在很大程度上取决于你测试的质量,所以团队需要设计强健的、高质量的测试和测试实践。
在本书中,我们将探讨如何使用Jenkins或者Hudson来实现一个健壮的和全面的持续集成解决方案。
Jenkins简介(née Hudson)
Jenkins,最开始被称作Hudson,是一个Java语言编写的开源的持续集成工具。Jenkins在持续集成领域的市场份额居于主导地位,其被各种规模的团队用于各种语言和技术的项目中,比如.NET、Ruby、Groovy、Grails、PHP等,当然还有Java。是什么使Jenkins如此成功呢?又为什么你的持续集成基础设施中要使用Jenkins呢?
首先,Jenkins是易于使用的。用户界面非常简单、直观,增加了视觉上的吸引力,而且Jenkins作为一个整体,具有平滑的学习曲线。在第2章中我们会发现,你可以在几分钟之内开始使用Jenkins。
其次,Jenkins拥有良好的扩展性,能够极其灵活和方便地迎合你的想法。它有数以百计的开源插件可供使用,而且每周会有更多的开源插件贡 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » Jenkins权威指南 - (EPUB全文下载)