推荐学习资料

关于Jenkins的学习,我相信再多的资料都比不上自己亲手实践,具体的请参考:https://blog.nowcoder.net/n/220a2c141a494fa78560168ea869459d
如果能踏踏实实实践下来,那么你就能够对Jenkins的作用有一个基本的认识。对于Jekins,如果大家要寻找学习资料的话,给大家推荐的就是jenkins的官方文档:https://www.jenkins.io/doc/
接下来我会给大家分享截止到目前为止我积累的一些学习总结。

Jekins是什么

Jenkin是现在流行的用来实施CI/CD工具,CI是“持续集成”的简写、CD是“持续交付”的简写。能帮助我们实现当代码提交到代码仓库之后自动地进行构建、测试和部署,也可以帮助我们监听外部应用的执行状态从而出发相应的处理过程。

Jekins中三个核技术

Jekins中三个核技术:Stapler、插件和持久化

  • Stapler 是一个将应用程序对象和 URL 装订在一起的 lib 库,使编写 web 应用程序更加方便。Stapler 的核心思想是自动为应用程序对象绑定 URL,并创建直观的 URL 层次结构。(比如我们的一个job 会有一个url对应,jenkins能帮助我们管理很多job)
  • Jekins的功能主要由各种插件提供,我们也可以自己开发插件来定制化实现我们想要的功能,但是目前Jenkis的插件已经有600多种,涵盖了用户及权限管理、代码管理(Git下载、Subversion下载)、参数化构建(支持用户输入简单的整数、字符串等类型)、构建触发事件(定时构建,gitlab hook构建、Jira Trgier等)、构建后的操作(邮件通知等,像我们公司的大象通知就是一个定制化的插件)
  • 持久化:指的是Jenkin各种job的建立、job之间的组织关系、job的配置信息、job的历史执行结果(conole输出)等的信息的存储。

Jenkins的主要功能

Jenkins 提供了丰富的管理和配置功能,包括系统设置,插件管理,系统信息,系统日志,负载统计(进行节点工作的分配,在job较多时可以灵活分配附在),节点管理(master、slave节点的增加删除)等功能。用表格总结如下:

分类 功能内容
Jenkins基础 可以实现的主要功能:持续版本发布/测试
master/slave模式,master主要用来控制全部的job,而slave是具体的执行节点,用来提高执行的效率。
agent/slave/node概念 agent接收master的指令,然后运行job
要想使Jenkins支持Java程序构建、maven构建、Git命令、gradle工具的使用,需要在Jenkins的「全部工具配置」面板中配置相关的工具的调用路径(在master机器上)
Jenkins插件:点击go to plugin查看系统的插件,插件安装之后才能够使用相关的功能。插件安装有两种方式:在线安装和离线安装。
pipeline Jenkins 2.0安装后自带pipline插件
pipline快速生成,在点击「pipeline sytax」按钮可以帮助我们快速生成pipline脚本,其中「stage」关键词可以定义该pipeline的每一个具体的步骤,可以方便我们在stage view中查看每一个stage的运行情况(失败成功、执行时间)
pipline 与定制化的job相比更加灵活
API接口 Jenkin支持java、python、ruby api供第三方系统调用。
如果要开发测试平台的话,可以考虑使用这样的API进行调用。

Jenkins的安装

Jenkins的安装很简单:首先要安装Java环境,然后下载Jenkins的war包,执行java