jenkins 构建项目之 pipeline基础教程

 更新时间:2020年07月22日 14:33:17   作者: 清欢渡.  
​pipeline ,简单来说,就是一套运行在 jenkins 上的工作流框架。这篇文章主要介绍了jenkins 构建项目之 pipeline基础教程,需要的朋友可以参考下

一、pipeline 简介

​pipeline ,简单来说,就是一套运行在 jenkins 上的工作流框架。将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程 编排 和 可视化 的工作。

二、pipeline 有哪些好处

  • 代码:pipeline 以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程。
  • 持久:无论是计划内的还是计划外的服务器重启,pipeline 都是可以恢复的。
  • 可停止:pipeline 可接受交互式输入,以确定是否继续执行 pipeline。
  • 多功能:pipeline 支持复杂的持续交付角球。支持 fork/join ,循环执行,并行执行任务的功能。
  • 多扩展:pipeline 插件支持其 DSL的 自定义扩展,以及与其他插件集成的多个选项。

三、创建 pipeline 流程步骤

pipeline 脚本由 Groovy 语言实现。

pipeline 支持两种语法:Declarative(声明式脚本)| Scripted Pipeline (脚本式语法)

pipeline 支持两种创建方法:可以直接在 jenkins - GUI 界面中创建。也可以创建在项目源代码根目录当中。

安装 pipline 插件:Pipeline

四、声明式语法

pipeline { :开头声明此脚本是 Declarative式脚本

agent any :模块一,此处填写构建所需的环境,代理,docker环境,kubernetes环境、
maven、jdk工具等等

stages:模块二,阶段记录所有步骤,代表构建项目的阶段开头

​stage:阶段步骤,一个 stages 中包含多个 stage,对应 拉取代码、编译打包、部署发布等等
​
steps:步骤实现,具体实现该步骤的命令,如何通过编写来实现步骤

code:拉取代码
build project:编译打包
publish project:部署上线

入门语法案例:

pipeline {
 agent any  //环境maven、jdk等

 stages {  			//项目构建
  stage('pull code') { 	//拉取代码 
   steps {    	//具体实施步骤
    echo 'pull code' 	// 拉取代码命令
   }
  }
  stage('build project') {		// 编译打包 
   steps {   		 	//具体实施步骤
    echo 'build project' 	 	// 打包命令
   }
  }
  stage('publish project') { 		// 部署上线 
   steps {    		//具体实施步骤
    echo 'publish project' 	// 部署命令
   }
  }
 }
}

五、脚本示语法

node:声明此脚本是Scripted Pipeline

​def mvnHome:指定脚本运行所需要的各种环境、工具等

​stage:指定不同的构建步骤,如拉取代码,编译打包,部署上线等,可以有多个 stage

node {
 def mvnHome
 stage('pull code') {    //步骤一,拉取代码
  echo "pull code"
 }
 stage('Build project') {		 //步骤二,构建打包
  echo "build project"
 }
 stage('publish project') {		 //步骤三,部署上线
  echo "publish project" 
 }
}

六、流水线语法

片段生成器:可以自动生产拉取、打包、部署的代码。直接粘贴到 pipeline即可使用。

Declarative Directive Generator:声明式指令生成器。

Declarative Online Documentation:声明式指令官方文档

在这里插入图片描述
在这里插入图片描述

片段生成器部署上线示例:1、拉取代码:check out from version control

在这里插入图片描述
在这里插入图片描述

2、编译打包 sh: Shell Script

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3、部署上线 deploy: Deploy war/ear to a container

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4、水线阶段视图:

在这里插入图片描述

流水线脚本管理 Jenkinsfile

流水线脚本有两种写入管理方法:

​1、在 Jenkins - Gui 界面里写

​2、存放在 gitlab代码层,与 src pom.xml 同目录。命名为 Jenkinsfile ( j 必须大写 ) 文件,填写流水线执行步骤。

代码层的 Jenkinsfile ,方便管理,方便备份,不会因为 jenkins宕机丢失整个流水线配置。

在这里插入图片描述
在这里插入图片描述

然后在 jenkins - GUI 界面 通过 pipeline SCM 连接到 gitlab仓库,获取 Jenkinsfile 文件

在这里插入图片描述

在这里插入图片描述

到此这篇关于jenkins 构建项目之 pipeline基础教程的文章就介绍到这了,更多相关jenkins pipeline基础内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中循环冗余校验(CRC32)的实现

    Java中循环冗余校验(CRC32)的实现

    CRC校验实用程序库在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段,下面这篇文章主要给大家介绍了关于Java中循环冗余校验(CRC32)实现的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • Java程序中添加播放MIDI音乐功能的实现方法详解

    Java程序中添加播放MIDI音乐功能的实现方法详解

    本篇文章是对在Java程序中添加播放MIDI音乐功能的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 你知道Tomcat安装之前为什么要安装JDK

    你知道Tomcat安装之前为什么要安装JDK

    这篇文章主要介绍了你知道Tomcat安装之前为什么要安装JDK吗?具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • SpringBoot开发中的数据源详解

    SpringBoot开发中的数据源详解

    这篇文章主要介绍了SpringBoot开发中的数据源详解,数据源(Data Source)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体,在数据源中存储了所有建立数据库连接的信息,需要的朋友可以参考下
    2023-09-09
  • Java常见的四种负载均衡算法

    Java常见的四种负载均衡算法

    本文主要介绍了Java常见的四种负载均衡算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • java配置变量的解释,搬运他人优质评论(推荐)

    java配置变量的解释,搬运他人优质评论(推荐)

    这篇文章主要介绍了java配置变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Java实现简单碰撞检测

    Java实现简单碰撞检测

    这篇文章主要为大家详细介绍了Java实现简单碰撞检测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Java日常练习题,每天进步一点点(30)

    Java日常练习题,每天进步一点点(30)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • MyBatis的SUM映射问题及解决

    MyBatis的SUM映射问题及解决

    这篇文章主要介绍了MyBatis的SUM映射问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • IDEA2020.1使用LeetCode插件运行并调试本地样例的方法详解

    IDEA2020.1使用LeetCode插件运行并调试本地样例的方法详解

    这篇文章主要介绍了IDEA2020.1使用LeetCode插件运行并调试本地样例的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-09-09

最新评论