# Jenkins教程 - 10 流水线Pipeline

什么是 Pipeline?

之前使用 Jenkins 都是通过UI界面来操作的,Pipeline 可以让我们通过脚本代码来操作 Jenkins。它描述了项目的构建、测试和部署等各个阶段的详细步骤。Pipeline 是使用 Groovy DSL(领域特定语言)编写。


为什么需要使用 PipeLine?

Jenkins 的原生界面虽然强大,但它主要用于简单的任务执行。当项目变得复杂时,简单地点击”构建”按钮可能不足以满足需求。Pipeline 提供了一个方法,使你可以详细地定义和组织构建、测试和部署的每个步骤,确保每一步都按照预期进行。

# 10.1 HelloWorld

Pipeline 的语法由5个必备的部分组成,分别是:

  • pipeline
  • agent
  • stages
  • stage
  • steps

举个栗子:

# 1 创建任务

重新创建一个任务,选择流水线:

跳转会到配置页面:

在上面的配置页面,定义有两个选项:

  • Pipeline script:表示在下面的文本框中编写脚本执行;
  • Pipeline script from SCM:表示从远程仓库拉取脚本执行。

这里我们先选择 Pipeline script,在下面编写脚本,先选择一个 Hello World,看看脚本的样子:

pipeline {			// 表示总体的定义
    agent any		// 表示在哪台机器执行任务,这里是any,表示交给jenkins管理

    stages {		// stages 表示是环节或阶段,一个任务有很多个节点
        stage('Hello') {		// 这里是一个阶段,括号中的是阶段的名称,自己定义
            steps {					// 每个阶段可以有多个步骤,这里是一个步骤
                echo 'Hello World'		// 步骤的具体执行
            }
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11

# 2 编写脚本

我们现在先参照上面的代码,简单编写一个流水线任务,只是打印一些语句:

pipeline {
    agent any

    stages {
        stage('pull-code') {
            steps {
                echo '拉取代码'
            }
        }
      	stage('build') {
            steps {
                echo '构建成功'
            }
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

然后保存任务。

# 3 执行任务

执行构建,构建成功后,会看到流水线构建各个阶段的视图:

点击各个阶段,可以查看执行的打印信息:

点击每次构建的任务,也可以看到日志:

# 10.2 Blue Ocean

Blue Ocean 是一个 Jenkins 插件,可以以更好的方式来管理 Jenkins流水线。

# 1 安装Blue Ocean

直接在插件管理中搜索安装即可。


安装完成,Doshboard 首页就会多了一个 Blue Ocean 菜单:

# 2 查看Blue Ocean

点击就可以打开 Blue Ocean 的页面,也可以看到构建任务列表:

点击任务可以进入到任务页面,看到任务的构建次数和状态:


点击每次执行的构建,可以查看构建执行的各个阶段的信息: