Pipeline入门

==作者:YB-Chi==

[toc]

jenkins-Pipeline基础语法

1) jenkins-Pipeline总体介绍

  • Pipeline,简而言之,就是一套运行与jenkins上的工作流框架,将原本独立运行于单个或多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。
  • Pipeline是jenkins2.x最核心的特性,帮助jenkins实现从CI到CD与devops的转。
  • https://jenkins.io/2.0/

2) 什么是jenkins Pipeline

  • jenkins Pipeline是一组插件,让jenkins可以实现持续交付管道的落地和实施。
  • 持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现
  • 软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布
  • Pipeline提供了一组可扩展的工具 ,通过Pipeline Domain Specific Language(DSL) syntax可以达到Pipeline as Code的目的
  • Pipeline as code: jenkinsfile存储在项目的源代码库

3) 为什么要用Pipeline

  • 代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其CD流程
  • 可持续性:jenkins重启或者中断后都不会影响Pipeline job
  • 停顿:Pipeline可以选择停止并等待人工输入或批准,然后在继续Pipeline运行。
  • 多功能:Pipeline支持现实世界的复杂CD要求,包括fork/join子进程,循环和并行执行工作的能力。
  • 可扩展:Pipeline插件支持其DSL的自定义扩展以及与其他插件集成的多个选项

4) pipeline 基础语法

1
2
3
4
5
6
7
• Stage
  • 阶段,一个pipeline可以划分为若干个Stage,每个Stage代表一组操作,列如:“Build”、“Test”、“Deploy”。
  • 注意,Stage是一个逻辑分组的慨念,可以跨多个node
• Node
  • 节点,一个node就是一jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行环境。
• Step
  • 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个docker镜像,由各类jenkins Plugin提供,例如:sh 'make'

5) jenkins Pipeline入门

1
2
3
4
5
6
7
8
9
10
• pipeline脚本是由Groovy语言实现
  • 无需专门学习Groovy
• Pipeline支持两种语法
  • Declarative声明式(在Pipeline plugin 2.5中引入)
  • Scripted Pipeline脚本式
• 如何创建基本的Pipeline
  • 直接在jenkins Web UI网页界面中输入脚本
  • 通过创建一个jenkinsfile可以检入项目的源代码管理库
• 最佳实践
  • 通常推荐在jenkins中直接从源代码控制(SCM)中载入jenkinsfile Pipeline

6) jenkins编写简单pipeline脚本

1
2
3
4
5
6
7
8
9
10
11
node {
stage('拉取代码'){
echo "拉取代码"
}
stage('代码编译'){
echo "代码编译"
}
stage('部署发布测试'){
echo "部署发布测试"
}
}

(1) 通过经典UI创建一个新任务

(2) 选择pipeline,输入任务名

(3) 编写pipeline,保存

(4) 构建,查看视图

文章作者: CYBSKY
文章链接: https://cybsky.top/2022/12/28/cyb-mds/devops/jenkins/Pipeline入门/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CYBSKY