Jenkins+Gitlab持续集成实践概要分享
引言
本文主要分享搭建持续集成环境的思路,及其过程中的要点、难点与解决方式,不详细介绍每个阶段的操作步骤(在百度上都可以找到)。我目前的持续集成实践仍在初步阶段,见知浅陋,文章在之后的实践与优化过程中会慢慢更新。希望帮助正在尝试进行Jenkins实践的朋友们整理思路,克服困难,找到合适的持续集成解决方案。
Jenkins环境介绍
搭建目标
- 对接Gitlab,当其操作触发构建时,自动进行编译打包、部署、功能基线测试;
- 每日定时构建,进行代码扫描,以及单元、功能、接口、性能、稳定性等测试;
- 构建环境覆盖Windows、Linux、Mac平台,测试环境覆盖Windows、Linux、Mac、Android、IOS平台;
网络结构图
主控机: 触发构建的入口,用于执行编译打包,选择测试任务,生成CI报告及邮件。通过< Parameterized Remote Trigger >插件,调用执行机的Job进行测试。可添加子节点达到负载均衡。
执行机: 运行测试任务,上传结果用于生成CI报告。覆盖目标测试策略和系统平台。通过合理配置达到负载均衡。