# 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
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
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 的页面,也可以看到构建任务列表:
点击任务可以进入到任务页面,看到任务的构建次数和状态:
点击每次执行的构建,可以查看构建执行的各个阶段的信息: