前言碎语
前篇博文我们实践了jenkins pipeline的脚本模式,体验到了pipeline的流式构建流程,以及通过bule ocean更清晰的展示了构建的全过程,下面我们就jenkins pipeline相关内容做个全面的了解。
l . Jenkins pipeline是什么?
Jenkins Pipeline是一套插件,支持在Jenkins中实施和集成持续交付管道。
一个持续交付(CD)管道是从用户到版本控制软件的自动化表达。对软件的每一次改变(在源代码控制中提交)都会在发布过程中经历一个复杂的过程。这个过程包括以可靠和可重复的方式构建软件,以及通过测试和部署的多个阶段来推进构建的软件(称为“构建”)。
Pipeline提供了一套可扩展的工具,用于通过管道域特定语言(DSL)语法将“简单到复杂”的交付管道使用“代码”建模 。
Jenkins管道的定义被写入到一个jenkinsfile的文本文件,该文件又可以被提交到项目的源代码控制库。这是“Pipeline-as-code”的基础。将CD管道作为应用程序的一部分进行版本控制,并像任何其他代码一样进行审查。
l 为什么使用pipeline?
Jenkins从根本上说是一个支持多种自动化模式的自动化引擎。Pipeline在Jenkins上增加了一套强大的自动化工具,支持从简单的持续集成到全面的CD管道的用例。通过对一系列相关任务建模,用户可以利用Pipeline的更多功能,如:
l Jenkinsfile支持脚本式Scripted Pipeline和声明式Declarative Pipeline
Scripted Pipeline
声明式Declarative Pipeline
其中关键语法异同如下:
l 使用Jenkinsfile的好处:
虽然用于定义管道的脚本语法和jenkinsfile类似,但通常认为在项目中定义管道Jenkinsfile并检查源代码管理是最佳实践。
l 关于Blue Ocean
Blue Ocean是pipeline的可视化UI。同时他兼容经典的自由模式的job。Jenkins Pipeline从头开始设计,但仍与自由式作业兼容,Blue Ocean减少了经典模式下的混乱并为团队中的每个成员增加了清晰度。Blue Ocean的主要特点包括: