一.最简结构

pipeline {
    agent any     stages {
        stage('pull') {
            steps {
                echo '开始拉取代码'
            }
        }
    }
}

以下声明式语法中,每个步骤都要有,少一个都会报错

  • pipeline:固定语法,代表整条流水线
  • agent:指定流水线在哪执行,默认any即可,也可以指定在docker、虚拟机等等里执行
  • stages:流水线中多个stage的容器,至少包含一个stage
  • stage:流水线的阶段,每个阶段都必须有名称,stage必须有,且只能有一个steps
  • steps:阶段中的一个或多个具体步骤(step)的容器,steps部分至少包含一个步骤,echo就是一个步骤

二.简单例子

1.新建一个pipeline的项目

2.最下面的jenkinsfile中填入如下

pipeline {
    agent any     stages {
        stage('Pull Code') {
            steps {
                echo '开始拉取代码'
                //sh "git clone http://1.1.1.1/LOL.git"
            }
        }         stage('Build') {
            steps {
                echo '开始构建代码'
                //sh "cd LOL ; mvn clean install"
            }
        }
    }
}

这个Use Groovy Sandbox是用沙箱来运行脚本,具体作用可以看介绍,也可以看后续文档。

初次接触会觉得这种方式比脚本式更加繁杂,所以可以换一种理解方式。初期将pipeline、agent、stages当成固定语法,然后stage为不同阶段,steps为固定的语法,在里面填写多个命令步骤即可了。

例子中有2个阶段,Pull Code拉取代码阶段包含2个步骤,先打印一个提示,然后用shell命令的git去拉取代码(后面会介绍用其它更方便的指令)。Build构建阶段也包含2个步骤,同样打印提示后,执行shell命令,移动到代码文件夹中,并用mvn命令进行构建。

3.执行job,可以看到视图里,2个阶段都成功了,还附带阶段执行时间

视图来自Pipeline: Stage View这个插件,在安装pipeline插件时会默认带上。如果你的视图异常了,可以检查一下这个插件。

Jenkins pipeline声明式语法的更多相关文章

  1. Jenkins 在声明式 pipeline 中并行执行任务

    在持续集成的过程中,并行的执行那些没有依赖关系的任务可以缩短整个执行过程.Jenkins 的 pipeline 功能支持我们用代码来配置持续集成的过程.本文将介绍在 Jenkins 中使用声明式 pi ...

  2. 声明式语法重写基于容器CICD构建流水线

    调试了一下午,一句话都不想说了,看代码. ----- 参考文档 https://blog.csdn.net/weixin_42010394/article/details/90670945 实践代码 ...

  3. Jenkins pipeline:pipeline 语法详解

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

  4. Jenkins pipeline 语法详解

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

  5. Jenkins pipeline 并行执行任务流

    笔者在<Jenkins 在声明式 pipeline 中并行执行任务>一文中介绍了如何在声明式 pipeline 中执行并行的任务.前一段时间,Jenkins 发布了 1.3 版的声明式 p ...

  6. Docker的Jenkins Pipeline工作流

    原文地址:http://www.youruncloud.com/blog/127.html 分享主题 一个软件产品的开发周期中,尤其是敏捷开发,持续集成和持续部署是必不可少的环节,而随着产品的丰富,模 ...

  7. jenkins pipeline的声明式与脚本式

    自从Jenkins 2.0 版本升级之后,支持了通过代码(Groovy DSL)来描述一个构建流水线,灵活方便地实现持续交付,大大提升 Jenkins Job 维护的效率,实现从 CI 到 CD 到转 ...

  8. Jenkins教程——从安装到部署Docker服务(二)声明式流水线HelloWorld

    前言 本文通过一个声明式流水线的HelloWorld程序做一下流水线基础入门,对常用的流水线参数进行简要说明 什么是流水线 现实中的流水线 流水线比较好理解,类比于现实生活中的生产流水线,每个流程只做 ...

  9. Jenkins Pipeline 语法

    Pipeline语法 先讲Declarative Pipeline,所有声明式管道都必须包含在pipeline块中: 123 pipeline { /* insert Declarative Pipe ...

随机推荐

  1. 用Docker搭建RabbitMq的普通集群和镜像集群

    普通集群:多个节点组成的普通集群,消息随机发送到其中一个节点的队列上,其他节点仅保留元数据,各个节点仅有相同的元数据,即队列结构.消费者消费消息时,会从各个节点拉取消息,如果保存消息的节点故障,则无法 ...

  2. python实现图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)

    目录: (一)数值运算(加减乘除) (二)逻辑运算(与或非异或) 正文: (一)数值运算(加减乘除) opencv自带图片色素的处理函数------相加:add()   相减:subtract()  ...

  3. 测试平台系列(81) 编写在线执行Redis功能

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 回顾 上一节我们牛刀小试,编写了 ...

  4. 【Tool】JDK8 安装

    JDK8 2019-07-26  14:05:21  by冲冲 1. 下载 通常前往官网 https://www.oracle.com/technetwork/java/javase/download ...

  5. YAPI接口自动鉴权功能部署详解

    安装准备 以下操作,默认要求自己部署过yapi,最好是部署过yapi二次开发环境. 无论是选择在线安装或者是本地安装,都需要安装client工具. 1.yapi-cli:npm install yap ...

  6. [USACO17FEB]Why Did the Cow Cross the Road III P

    [USACO17FEB]Why Did the Cow Cross the Road III P 考虑我们对每种颜色记录这样一个信息 \((x,y,z)\),即左边出现的位置,右边出现的位置,该颜色. ...

  7. Go知识点大纲

    目录 1. 基本介绍 2. 安装及配置 3. 变量 4. 常量 5. 数据类型 5.1 numeric(数字) 5.2 string(字符串) 5.3 array(数组) 5.4 slice(切片) ...

  8. gg=G

    1.代码格式化对齐 2.直接按下ESE模式下就可以来执行了

  9. jmeter非GUI(cmd命令行)模式的压测和输出测试报告

    1.非GUI模式的压测,和GUI有啥不同? 2.非GUI模式怎么搞? 大家打开jmeter的时候,都会看到这个界面: 注意看这句话: Don't use GUI mode for load testi ...

  10. 前端4 — jQuery — 更新完毕

    1.下载jQuery 网址:Download jQuery | jQuery  最好下载最新版的,因为有什么bug问题,最新版的都会有,所以学技术就用最新版的,实际开发用的时候就要讲究了 2.开始用j ...