jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,它的前身是Hudson,是基于java开发的一种持续集成工具,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时,Jenkins能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。
基本上都是持续集成实践中的要求和周边的一些实现措施,如提醒功能等,出错后及时提醒开发者修复,Jenkins中通过配置SMTP配置信息(这个一般的邮件服务提供商都有提供),邮件模板,创建事件触发器,在事件发生时,及时发送邮件通知开发者。
jenkins有很多种触发构建的方式,如webhook,定时更新代码等,同时可以在触发构建后执行自定义的构建操作,通过编辑自定义的构建脚本,几乎可以进行任何构建操作。
1、开发者将新版本push到git server(Gitlab) 2、Gitlab随后触发jenkins master结点进行一次build。(通过web hook或者定时检测) 3、jenkins master 结点将这个build任务分配给若干个注册的slave节点中的一个,这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告。 4、在build中进行编译。
jenkins的工作原理是先将源代码从gitlab中拷贝一份到本地,然后根据设置的脚本进行build。我们可以看出,整个系统的关键就是那个build脚本。