Jenkins版本:V2.3 Web端口:8080

1.什么是Jnekins?

Jenkins是一款当前流行的开源自动化服务器,通过丰富的插件支持任何项目的构建、部署和自动化。提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性Jnekins 2.0版本之后增加了Pipeline,使的持续集成和持续发布更加流程化和可视化。

2.Jenkins的pipeline工作流程?

image.png
1.开发人员更新代码推送到远程仓库后,gitlab通过webhook通知Jenkins代码更新。
2.Jenkins通过git插件以及git参数化构建的配置参数进行代码的获取.并切换到指定分支。
3.Jenkins通过调用maven工具对源码进行构建打包成WAR包。
4.Jenkins调用ansible工具对远端服务器进行war包更新并重启远端服务器。
5.将本次构建以及部署通过邮件发送给相关人员。

3.CI CD介绍

持续集成(Continuous Integration, CI): 代码合并,构建,部署,测试都在一起,不断地执行这个过程,并对结果反馈。
持续部署(Continuous Deployment, CD): 部署到测试环境、预生产环境/灰度环境、生产环境。
持续交付(Continuous Delivery, CD): 将最终产品发布到生产环境、给用户使用。

4.Jenkins在K8s集群中的CICD应用

5.Jenkins特性

  1. 开源的java语言开发持续集成工具,支持CI,CD。
    2. 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。
    3. 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。
    4. 分布式构建:支持Jenkins能够让多台计算机一起构建/测试。
    5. 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
    6. 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。