Bootstrap

Jenkins pipeline 入门

Jenkins Pipeline介绍

Jenkins pipeline (流水线)是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。它把持续提交流水线(Continuous Delivery Pipeline)的任务集成到Jenkins

pipeline 是jenkins2.X 最核心的特性, 帮助jenkins 实现从CI到CD与DevOps的转变

持续提交流水线(Continuous Delivery Pipeline)会经历一个复杂的过程: 从版本控制、向用户和客户提交软件,软件的每次变更(提交代码到仓库)到软件发布(Release)。这个过程包括以一种可靠并可重复的方式构建软件,以及通过多个测试和部署阶段来开发构建好的软件(称为Build)。

总结:

1.Jenkins Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施。


2.持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完
整过程的自动化表现。


3.软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布。

Jenkins Pipeline的特点

本质上,Jenkins 是一个自动化引擎,它支持许多自动模式。 Pipeline向Jenkins中添加了一组强大的工具, 支持简单的CI到全面的CD pipeline。通过对一系列的相关任务进行建模, 用户可以利用pipeline的很多特性:

    1代码:Pipeline以代码的形式实现,使团队能够编辑,审查和迭代其CD流程。
    2可持续性:Jenkins重启或者中断后都不会影响Pipeline Job。
    3停顿:Pipeline可以选择停止并等待人工输入或批准,然后再继续Pipeline运行。
    4多功能:Pipeline支持现实复杂CD要求,包括循环和并行执行工作的能力。
    5可扩展:Pipeline插件支持其DSL的自定义扩展以及与其他插件集成的多个选项。


DSL 是什么?

DSL 其实是 Domain Specific Language 的缩写,中文翻译为领域特定语言(下简称 DSL);而与 DSL相对的就是GPL,这里的GPL并不是我们知道的开源许可证,而是 General Purpose Language的简称,即通用编程语言,也就是我们非常熟悉的 Objective-C、Java、Python 以及 C 语言等等。

 Jenkins pipeline 入门

pipeline支持两种语法

-Declarative声明式

-Scripted pipeline 脚本式

声明式pipeline语法:

官网:

https://www.jenkins.io/doc/book/pipeline/syntax/

声明式语法包括以下核心流程:

1.pipeline : 声明其内容为一个声明式的pipeline脚本
2.agent:  执行节点(job运行的slave或者master节点)
3.stages: 阶段集合,包裹所有的阶段(例如:打包,部署等各个阶段)
4.stage:  阶段,被stages包裹,一个stages可以有多个stage
5.steps:  步骤,为每个阶段的最小执行单元,被

;