jenkins简介

  1. 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等,完成对软件的自动化构建,测试,发布等
  2. Jenkins采用主/从架构

    • 主节点:处理调度自动化任务,把自动化任务分配到各slave节点
    • 从节点:执行主节点分配的自动化任务
  3. jenkins的工作流程

    • 如图

    • 开发者将新版本push到git server (Gitlab)。

    • Gitlab随后触发jenkins master结点进行一次build。(通过web hook或者定时检测)

    • jenkins master结点将这个build任务分配给若干个注册的slave结点中的一个,这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告等。

  4. jenkins由于以上自动化特性,比如自动化构建打包,自动化测试,自动化部署发布等,因此常被用于持续集成持续交付中,即CI/CD,持续集成的优点如下

    • 快速发现错误: 每完成一点更新,就集成到对应的分支,可以快速发现错误,定位错误也比较容易
    • 防止分支大幅偏离主干: 如果不是经常集成,分支或者主干又在不断更新,会导致以后集成的难度比较大,甚至难以集成
我在想我要不要写一句励志的话......
原文地址:https://www.cnblogs.com/iread9527/p/14433601.html