1. 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 基础语法

• 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入门

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

6) jenkins编写简单pipeline脚本

node {
stage('拉取代码'){
echo "拉取代码"
}
stage('代码编译'){
echo "代码编译"
}
stage('部署发布测试'){
echo "部署发布测试"
}
}

(1) 构建一个Pipeline-demo流水线

(2) 创建Pipeline-demo流水线

(3) pipeline脚本编写

(4) 然后保存,进行构建

(5) 构建效果

devops-jenkins-Pipeline基础语法的更多相关文章

  1. Kubernetes DevOps: Jenkins Pipeline (流水线)

    要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式.Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于 ...

  2. Declarative Pipeline 基础语法

    Declarative Pipeline(声明式)核心概念 核心概念用来组织pipeline的运行流程 1.pipeline :声明其内容为一个声明式的pipeline脚本 2.agent:执行节点( ...

  3. Jenkins pipeline:pipeline 语法详解

    jenkins  pipeline 总体介绍 pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. ...

  4. Jenkins pipeline 语法详解

    原文地址http://www.cnblogs.com/fengjian2016/p/8227532.html pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节 ...

  5. Jenkins pipeline:pipeline 使用之语法详解

    一.引言 Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature. 简单的来说,就是把Jenkins1.0版本中,Project中 ...

  6. 转~Jenkins pipeline:pipeline 使用之语法详解

    一.引言 Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature. 简单的来说,就是把Jenkins1.0版本中,Project中 ...

  7. jenkins pipeline语法

    目录 一.声明式 二.脚本式 基本 判断 异常处理 Steps node withEnv 一.声明式 声明式Pipeline必须包含在名为pipeline的语句块中,典型的声明式Pipeline语法如 ...

  8. 8.Jenkins进阶之流水线pipeline基础使用实践(1)

    ​目录一览: 0x01 基础实践 (1) Maven 构建之 Pipeline Script (2) Maven 构建之 Pipeline Script from SCM (3) Jenkins pi ...

  9. devops持续集成,Centos7.6下gitlab+jenkins(pipeline)实现代码自动上线

    持续集成 gitlab+jenkins(pipeline)实现代码自动上线 环境准备:Centos7.6版本ip:192.168.0.13 主机名:gitip:192.168.0.23 主机名:jen ...

随机推荐

  1. JAVA,.NET项目开发难上手?力软敏捷开发框架解君愁

        力软敏捷开发框架/快速开发平台是一款轻量化多语言可视化开发工具.秉持以“让开发变得简单”为宗旨,深耕软件平台, 拥有近10年的行业开发经验,经典的.NET软件产品已经服务超5000家客户,并得 ...

  2. YoloV4当中的Mosaic数据增强方法(附代码详细讲解)码农的后花园

    上一期中讲解了图像分类和目标检测中的数据增强的区别和联系,这期讲解数据增强的进阶版- yolov4中的Mosaic数据增强方法以及CutMix. 前言 Yolov4的mosaic数据增强参考了CutM ...

  3. 非旋Treap——fhq treap

    https://www.luogu.org/problemnew/show/P3369 知识点:1.拆分split,合并merge 2.split,merge要点:通过传址调用来简便代码 3.记得ro ...

  4. 查看带有A-Time的执行计划

    先执行 SQL> alter session set statistics_level=all; 会话已更改. 再执行SQL语句: SQL> select count(*) from tb ...

  5. ZK集群源码解读

    1.1. 集群模式 1.1.1.   数据同步总流程 1.1.1.1. OBSERVING 1.1.1.2. FOLLOWING 1.1.1.3. LEADING 1.1.2. 领导选举 1.1.2. ...

  6. Vue的优缺点

    使用vue.js做开发快两年了,对vue的优缺点有一点自己的见解,跟大神比不了,但是面试基本够用 vue在国内能被广泛使用的首要原因是它是基于mvvm框架做开发的,mvvm是前端开发中一种很有影响力的 ...

  7. 【原创】Linux虚拟化KVM-Qemu分析(三)之KVM源码(1)

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9 ...

  8. spring 之BeanPostProcessor&BeanFactoryPostProcessor

    http://www.cnblogs.com/sishang/p/6576665.html https://www.cnblogs.com/sishang/p/6588542.html

  9. java学习(九) —— java中的File文件操作及IO流概述

    前言 流是干什么的:为了永久性的保存数据. IO流用来处理设备之间的数据传输(上传和下载文件) java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. java IO系统的学习, ...

  10. 4.Strom-可靠性保证