Jenkins最佳实践
Jenkins最佳实践,其实大部分对于其他的CI工具同样的适用:
* Jenkins的安全。对Jenkins的用户使用授权和访问控制。默认地Jenkins不执行任何的安全检查,这意味着任何人都可以访问Jenkins来配置Jenkins,修改job,和执行build。这对于在企业内部使用也许可以接受,但是存在很高的安全风险,例如其他人错误滴删除了job,错误地配置你的job在每分钟运行,启动太多的builds等。所以一般使用plugin来对Jenkins增加授权和访问控制。
* 有规律地对Jenkins的home目录的备份。
* 使用file fingerprinting来管理依赖关系。当在Jenkins上你的job依赖其他的job时,可以使用file fingerprinting来帮助定位依赖的版本信息。
* 最可靠的build是clean builds,clean builds意思是与build相关的所有的3rd party,build脚本,发布说明等都需要在Source code control。
* 与issue tracking系统紧密的集成,例如JIRA或bugzilla,从来减少对change log的修改。
* 与repository浏览工具紧密的集成,例如FishEye如果你使用Subversion作为source code管理工具。
* 总是配置job产生趋势报告和自动化测试,当你运行一个Java build。趋势报告帮助项目经理和开发人员快速地了解当前项目的进度和状态。
* 确保Jenkins的home目录拥有足够的空间。
* 在删除不使用的job前请先存档。
* 为不同的branch建立不同的job,build来尽早地发现错误。
* 为并行的项目builds分配不同的端口,来避免多个jobs同时启动时所遇到的冲突。
* 为不同的项目的开发人员建立email aliais,使得项目所有相关的人员都第一时间了解项目的状态。
* 增加额外的步骤来尽早地发现失败。例如log检查,微测试等。
* 对于经常的维护性的工作可以使用job来自动地完成,例如对磁盘的清除工作。
* 在build成功后对远代码Tag,label或baseline。
* 配置Jenkins bootstrapper来在build前更新工作目录。