一个程序员(工程师)的工作要是少了持续集成这一环节,他(她)就不能算是程序员。
JenKins 认知
持续开发 -> 持续测试 -> 持续构建 -> 持续部署/交付
JenKins 是什么
- 持续性构建或测试软件工程
- 监控外部工作的执行
JenKins 最佳实践
- 安全性:强制采取认证和权限控制
- 周期性备份
- 使用“文件指纹”(file fingerprinting)管理(因交叉工程协作带来的)依赖性
- 最可靠的构建是清洁构建(clean builds,which are built fully from Source Code Control)
- 紧密结合问题追踪系统(如 JIRA 或 bugzilla)以减少手工维护变更记录的麻烦
- 紧密结合源代码浏览工具(如 FishEye),但前提是使用 Subversion 作为源代码版本管理工具
- 坚持对每一个构建生成趋势报告和进行自动化测试
- 为 JenKins 分配足够多的磁盘空间
- 为要移除的构建工作打包仓储
- 为不同的分支(维护或开发)都单独建立构建工作
- 为平行构建的工作分配不同的端口,但最好避免同时构建多个工程
- 使用 Email 功能以保持团队对开发工作的感知
- 分步式测试计划以保证失败地构建得以尽早上报(比如在整体套件测试之前进行嗅探性测试)
- 为构建工作制定维护计划,比如定期清理以避免磁盘耗尽
- 为成功的构建上标签,描述
- Configure Jenkins bootstrapper to update your working copy prior to running the build goal/target
- In larger systems, don’t build on the master(do this by setting the executor count to zero)