jenkins简介
-
jenkins是什么?
- 官网的描述是这样的,
Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.
- 从官网的介绍,我们可以看出,jenkins是一个java语言写的服务器软件,它的作用是自动化调度各种任务,比如构建、测试、发布软件等,可以从下图理解,jenkins集成了各种构建发布工具比如mavan,tomcat,git等,完成对软件的自动化构建,测试,发布等
- 官网的描述是这样的,
-
Jenkins采用主/从架构
- 主节点:处理调度自动化任务,把自动化任务分配到各slave节点
- 从节点:执行主节点分配的自动化任务
-
jenkins的工作流程
- 如图
-
开发者将新版本push到git server (Gitlab)。
-
Gitlab随后触发jenkins master结点进行一次build。(通过web hook或者定时检测)
-
jenkins master结点将这个build任务分配给若干个注册的slave结点中的一个,这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告等。
-
jenkins由于以上自动化特性,比如自动化构建打包,自动化测试,自动化部署发布等,因此常被用于持续集成持续交付中,即CI/CD,持续集成的优点如下
- 快速发现错误: 每完成一点更新,就集成到对应的分支,可以快速发现错误,定位错误也比较容易
- 防止分支大幅偏离主干: 如果不是经常集成,分支或者主干又在不断更新,会导致以后集成的难度比较大,甚至难以集成
我在想我要不要写一句励志的话......