jenkins集成pipeline流水线

1.pipeline概述

pipeline流水线,可以直观的展示每个阶段做的任务,以及每个阶段耗费的时间。

pipeline不在使用鼠标来实现自动构建,也不要去看控制台日志,而是全程使用代码的方式来实现,构建完成后会展示一个视图,用来展示每个阶段完成的情况

pipeline使用Groovy语言来编写,固定代码语法

2.pipeline基本语法

pipeline {			#所有代码包裹在pipeline{}层
	agent any				#定义在哪台机器上运行
	environment {				#定义全局的环境变量
		host='jiangxl.com'			
	}
	stages {						#整个项目的集合
		stage('code1'){					#一个项目中的单个任务
			steps {							#具体执行的动作
				echo "code1"
			}
		}
		stage('code2'){
			steps {
				echo "code2"
			}
		}
	}
}

语法示意图

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_推送

3.构建一个简单的pipelline项目

3.1.编写pipeline脚本

pipeline {
	agent any
	stages {
		stage('获取代码'){
			steps{
				echo "get code ok"
			}
		}	
		stage('代码质量检测'){
			steps{
				echo "check code ok"
			}
		}	
		stage('编译代码'){
			steps{
				echo "build code ok"
			}
		}	
		stage('部署项目'){
			steps{
				echo "deploy code ok"
			}
		}	        
	}
}

3.2.创建一个pipeline项目

3.2.1.项目类型选择流水线

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_推送_02

3.2.2.导入pipeline脚本—直接写入

点击高级项目选项,将pipeline脚本写到里面

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_定义类_03

3.2.2.导入pipeline脚本—使用gitlab导入pipeline脚本

3.2.2.1.新增一个gitlab项目

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_代码质量_04

3.2.2.2.编写pipeline脚本并推送至gitlab

使用gitlab导入的话要在定义时选择pipeline script from SCM,文件名必须是Jenkinsfile

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_定义类_05

创建pipeline目录并添加gitlab邮箱再编写pipeline脚本并推送至gitlab
[root@jenkins ~]# mkdir pipeline
[root@jenkins ~]# cd pipeline/

[root@jenkins pipeline]# git config --global user.name "Administrator"
[root@jenkins pipeline]# git config --global user.email "admin@example.com"

[root@jenkins pipeline]# vim Jenkinsfile 
pipeline {
        agent any
        stages {
                stage('获取代码'){
                        steps{
                                echo "get code ok"
                        }
                }
                stage('代码质量检测'){
                        steps{
                                echo "check code ok"
                        }
                }
                stage('编译代码'){
                        steps{
                                echo "build code ok"
                        }
                }
                stage('部署项目'){
                        steps{
                                echo "deploy code ok"
                        }
                }
        }
}

[root@jenkins pipeline]# git init
[root@jenkins pipeline]# git remote add origin git@gitlab.jiangxl.com:root/pipeline.git

[root@jenkins pipeline]# git add .
[root@jenkins pipeline]# git commit -m "Jenkinfile"

[root@jenkins pipeline]# git push origin master

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_部署项目_06

3.2.2.3.pipeline引入gitlab脚本

定义类型选择scm

scm方式选择git,填写项目gitlab地址、凭据关联上gitlab、最后定义脚本路径

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_定义类_07

3.2.2.4.构建项目

构建成功,生成阶段视图

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_代码质量_08

3.2.2.5.控制台输出

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_推送_09

3.2.4.立即构建,构建完成后即可展现阶段视图

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_部署项目_10

阶段视图
Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_部署项目_11

鼠标放上去会有日志

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_定义类_12

4.使用Blue Ocean查看流水线

4.1.安装blue ocean插件

安装Git Pipeline for Blue Ocean

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_部署项目_13

4.2点击打开blue ocean

点击打开blue ocean

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_部署项目_14

点击运行
Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_推送_15

点击生成的任务即可

Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)_git_16