jenkins插件pipeline集成持续交付管道全面介绍

 更新时间:2022年03月01日 15:22:39   作者:kl  
这篇文章主要就jenkins插件pipeline集成持续交付管道相关内容做一个全面介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

前言

前篇博文  构建及部署jenkins pipeline实现持续集成持续交付脚本

我们实践了jenkins pipeline的脚本模式,体验到了pipeline的流式构建流程,以及通过bule  ocean更清晰的展示了构建的全过程,下面我们就jenkins pipeline相关内容做个全面的了解。

Jenkins pipeline是什么?

Jenkins Pipeline是一套插件,支持在Jenkins中实施和集成持续交付管道。

一个持续交付(CD)管道是从用户到版本控制软件的自动化表达。对软件的每一次改变(在源代码控制中提交)都会在发布过程中经历一个复杂的过程。这个过程包括以可靠和可重复的方式构建软件,以及通过测试和部署的多个阶段来推进构建的软件(称为“构建”)。

Pipeline提供了一套可扩展的工具,用于通过管道域特定语言(DSL)语法将“简单到复杂”的交付管道使用“代码”建模 。

Jenkins管道的定义被写入到一个jenkinsfile的文本文件,该文件又可以被提交到项目的源代码控制库。这是“Pipeline-as-code”的基础。将CD管道作为应用程序的一部分进行版本控制,并像任何其他代码一样进行审查。

为什么使用pipeline?

Jenkins从根本上说是一个支持多种自动化模式的自动化引擎。Pipeline在Jenkins上增加了一套强大的自动化工具,支持从简单的持续集成到全面的CD管道的用例。通过对一系列相关任务建模,用户可以利用Pipeline的更多功能,如:

  • 可维护:管道是在代码中实现的,并且通常会被签入源代码管理,从而使团队能够编辑,审阅和迭代他们的交付管道。
  • 可能出现:在继续进行管道运行之前,管道可以选择停止并等待人员输入或批准。
  • 复杂场景:管道支持复杂的实际CD需求,包括分叉/连接,循环和并行执行工作的能力。
  • 可扩展性:Pipeline插件支持对其DSL的定制扩展 。

enkinsfile支持脚本式Scripted Pipeline和声明式Declarative Pipeline

Scripted Pipeline

声明式Declarative Pipeline

其中关键语法异同如下:

 pipeline 是声明性管道特定语法,它定义了一个包含执行整个管道的所有内容和指令的“块”。

 agent 是声明式管道特定的语法,它指示Jenkins为整个管道分配执行程序(在节点上)和工作空间。

 stage是描述此Pipeline阶段的语法块 。stage在Pipeline语法页面上阅读关于声明式管道语法块的更多信息。如所提到的上述,stage块在脚本管道语法可选的。

 steps是声明式管道特定语法,用于描述要在此中运行的步骤stage。

 sh是一个Pipeline 步骤(由 Pipeline:Nodes和Processes插件提供)执行给定的shell命令。

 node是脚本化的管道特定语法,指示Jenkins在任何可用的代理/节点上执行此管道(以及其中包含的任何阶段)。这与agent声明式管道特定语法中的效果相同。

使用Jenkinsfile的好处:

虽然用于定义管道的脚本语法和jenkinsfile类似,但通常认为在项目中定义管道Jenkinsfile并检查源代码管理是最佳实践。

  • 为所有分支和请求自动创建一个管道构建过程。
  • 管道上的代码审查/迭代。
  • 审核追踪管道。
  • Pipeline的单一真实来源,可由项目的多个成员查看和编辑

关于Blue Ocean

     Blue Ocean是pipeline的可视化UI。同时他兼容经典的自由模式的job。Jenkins Pipeline从头开始设计,但仍与自由式作业兼容,Blue Ocean减少了经典模式下的混乱并为团队中的每个成员增加了清晰度。Blue Ocean的主要特点包括:

  •  连续交付(CD)管道的复杂可视化,可以让您快速直观地理解管道状态。 
  • 管道编辑器 - 通过引导用户通过直观和可视化的过程来创建管道,从而使管道的创建变得平易近人。
  • 个性化以适应团队中每个成员的基于角色的需求。
  • 在需要干预和/或出现问题时确定精确度。Blue Ocean显示的标注了关键步骤,促进异常处理和提高生产力。

以上就是jenkins插件pipeline集成持续交付管道全面介绍的详细内容,更多关于jenkins插件pipeline集成持续交付管道的资料请关注脚本之家其它相关文章!

相关文章

  • MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据

    MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据

    下面我们将逐步讲解怎么在MVC模式下将MongoDB数据读取,并展示在前台Jqgrid表格上。这个“简易系统”的基本设计思想是这样的:我们在视图层展示表格,Jqgrid相关Js逻辑全部放在一个Js文件中,控制层实现了“增删查改”四个业务,MongoDB的基本数据访问放在了模型层实现
    2013-07-07
  • Centos7使用docker搭建gitlab服务器

    Centos7使用docker搭建gitlab服务器

    这篇文章主要为大家详细介绍了Centos7使用docker搭建gitlab服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 每天学一分钟使用Git服务器实现查看Debug分支及修复

    每天学一分钟使用Git服务器实现查看Debug分支及修复

    这篇文章主要教大家怎样实现查看Debug分支及修复,学习是一条长远而无尽头之路,坚持就不用多少说了,只要大家每天花一分钟的时间来学习一下Git相信查看Debug分支及修复对大家来说就是so easy
    2021-08-08
  • Zabbix 上Windows性能监控的方法

    Zabbix 上Windows性能监控的方法

    这篇文章主要介绍了Zabbix 上Windows性能监控,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • DELL服务器 Dell PowerEdge服务器RAID卡驱动大全

    DELL服务器 Dell PowerEdge服务器RAID卡驱动大全

    这篇文章主要介绍了DELL服务器 Dell PowerEdge服务器RAID卡驱动,因为官方的很多系统都不带阵列卡驱动,需要安装驱动才可以,一般情况下2003用集成raid驱动的系统才可以安装或者按F6加载驱动
    2016-04-04
  • Linux系统查看服务器带宽及网络使用情况的具体方法

    Linux系统查看服务器带宽及网络使用情况的具体方法

    Linux系统中如何查看服务器带宽?本篇文章主要和大家分享一下Linux系统中查看服务器带宽的方法,对linux查看服务器带宽具体方法感兴趣的朋友跟随小编一起看看吧
    2022-11-11
  • Postman支持测试Websocket接口

    Postman支持测试Websocket接口

    WebSocket允许服务端主动向客户端推送数据,在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,在测试 WebSocket 的时候,可以使用js编写简单的页面,通过浏览器进行访问调试,也可以通过Postman进行调试
    2024-06-06
  • weblogic的集群与配置图文方法

    weblogic的集群与配置图文方法

    这篇文章主要介绍了weblogic的集群与配置图文方法,需要的朋友可以参考下
    2017-04-04
  • Windows10下hyperledger fabric1.4环境搭建过程图解

    Windows10下hyperledger fabric1.4环境搭建过程图解

    这篇文章主要介绍了Windows10下hyperledger fabric1.4环境搭建过程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Mac 下阿里云服务器的配置方法

    Mac 下阿里云服务器的配置方法

    这篇文章主要介绍了Mac 下阿里云服务器的配置方法,需要的朋友可以参考下
    2017-08-08

最新评论