目录

一.变量

1.直接定义

def x="abc"

2.从脚本执行结果赋值变量

branch = "/jen_script/return-branch.sh $group $job".execute().text

将结果通过逗号分隔,写入数组里

branch = "one, two, three"

branch_list = branch[1..-2].tokenize(',')


3.引号
```python
def x="abc" print '${x}' //输出${x},不支持变量 print "${x}" //输出abc,支持变量 print ''' //输出${X},不支持变量
${X}
''' print """ //输出abc,支持变量
${X}
"""

二.流程判断

1.判断变量

if (x='abc') {
echo "abc"
} else (x='bcd') {
echo "bcd"
}

三.方法

1.定义方法并调用

//String是声明这个变量应该类型是字符串,可以省略,类型则根据传入类型而变
def createName(String givenName, String familyName){
return givenName + "" + familyName
} //调用,可省略括号
createName(familyName = "Lee", givenName = "Bruce")

2.方法添加默认参数

def sayHello(String name = "zhangsan"){
print "hello ${name}"
} //不传参时括号不能省略了
sayHello()

3.闭包

//定义闭包
def codeBlock = {print "hello closure"} //闭包还可以直接当成函数调用
codeBlock() //输出hello closure

4.闭包作为参数传递给另一个方法

//定义闭包
def codeBlock = {print "hello closure"} //定义一个方法,它接收一个闭包参数
def sayHello(closure) {
closure()
} //在调用sayHello方法时可以这样
sayHello(codeBlock) //如果把闭包定义的语句去掉
sayHello( {print "hello closure"} ) //由于括号是非必需的,所以
sayHello {
print "hello closure"
} //如果sayHello改成名字为pipeine就是,是不是很像jenkins的pipeline
pipeline {
print "hello closure"
}

5.闭包另类用法,定义一个stage方法

//定义方法,传一个正常变量和一个闭包
def stage(String name, closue) {
print name
closue()
} //在正常情况下,这样使用stage函数
stage("stage name", {print "closure"}) //执行打印
//stage name
//closure //可以用另一种写法
stage("stage name") {
print "closure"
}

四.数组

1.定义数组,然后判断是否在数组中。比如判断two是否在one这个数组里,需要先定义字符串,后面切割。

pipeline {
agent any
environment {
one = "xxx,ddd,lll"
two = "ddd"
} stages {
stage('pull') {
steps {
script {
list = one.split(',')
for ( i in list ) {
echo "$i"
echo "$two"
if (i == two) {
echo "ok two"
} else {
echo "no two"
}
}
}
}
}
}
}

pipeline groovy的更多相关文章

  1. Pipeline load and load from git

    load https://www.sourcefield.nl/post/jenkins-pipeline-tutorial/ node { // Use the shell to create th ...

  2. [持续交付实践] pipeline使用:语法详解

    一.引言 jenkins pipeline语法的发展如此之快用日新月异来形容也不为过,而目前国内对jenkins pipeline关注的人还非常少,相关的文章更是稀少,唯一看到w3c有篇相关的估计是直 ...

  3. 使用Jenkins可持续集成maven项目

    首先下载最新的Jenkins的war包,放在tomcat的webapps的目录下,然后运行,例如: http://121.42.62.45:8080/jenkins/ 然后按照一步步的提示,下载相关的 ...

  4. 在Kubernetes集群里安装微服务DevOps平台fabric8

    转载于https://blog.csdn.net/wzp1986/article/details/72128063?utm_source=itdadao&utm_medium=referral ...

  5. Jenkins + SVN搭建php持续集成

    目标需求 开发提交代码到SVN,jenkins在分发服务器上执行'svn update',分发服务器在把代码同步到webserver,实现持续集成 流程 配置jenkins 一.jenkins所需插件 ...

  6. 【有容云案例系列】基于Jenkins和Kubernetes的CI工作流

    嘉宾介绍 黄文俊 有容云资深系统架构师 主要负责容器云平台产品架构及设计. 8年工作经验, 有着企业级存储, 云计算解决方案相关理解. 关注于微服务设计思考, 开发流程优化, docker及kuber ...

  7. centos7.6环境jenkins升级到tomcat8.0.53和jenkins2.168版本

    Jenkins服务器:192.168.10.175数据备份服务器:192.168.10.164 jenkins服务器报错不能访问,插件无法加载就不能正常获取代码,重启尝试解决无果,于是采用 如下方案: ...

  8. DEVOPS技术实践_06:sonar与Jenksin集成

    代码质量管理平台 一.checkout和打包功能 1.1 gitlab在新建一个文件 后续在写入内容 1.2 Jenkins新建一个任务 两个参数 1.3 流水线配置 copy仓库地址: http:/ ...

  9. mac通过docker一键部署Jenkins

    目录 mac通过docker一键部署Jenkins 一.前言 二.系统配置 三.安装步骤 Dockerhub查看镜像地址 1.一键安装 1.1.下载脚本 1.2.安装程序 1.2.1.安装程序详情 1 ...

随机推荐

  1. 大爽Python入门教程 0-1 安装python

    大爽Python入门公开课教案 点击查看教程总目录 一 如何找到下载地址并下载 下面展示找到下载地址的方法步骤 嫌步骤太慢可直接跳到第4步, 查看详细下载地址 使用搜索引擎搜索python 打开搜索结 ...

  2. P1759 通天之潜水(双写法+解析)

    算法解析 动态规划问题满足三大重要性质 最优子结构性质:如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质(即满足最优化原理).最优子结构性质为动态规划算法解决问题提供了重 ...

  3. 藏书馆App基于Rainbond实现云原生DevOps的实践

    我们需要的不是精通Kubernetes的工程师,我们需要一款小白都能用好的管理工具. -- 厦门正观易知科技有限公司运维负责人 郭传壕 大家好,我是厦门正观易知科技有限公司运维负责人郭传壕. 藏书馆是 ...

  4. HDU 3267 Graph Game(博弈论+图论+暴力)

    题面传送门 题意: 有一棵 \(n\) 个节点的图 \(G\),R 和 B 两个人轮流操作,R 先操作. 每次操作 R 可以染红任意一条未染色的边,B 可以染蓝任意一条未染色的边 R 的目标是染成一棵 ...

  5. 洛谷 P3676 - 小清新数据结构题(动态点分治)

    洛谷题面传送门 题目名称好评(实在是太清新了呢) 首先考虑探究这个"换根操作"有什么性质.我们考虑在换根前后虽然每个点的子树会变,但整棵树的形态不会边,换句话说,割掉每条边后,得到 ...

  6. Codeforces 796E - Exam Cheating(dp)

    Codeforces 题目传送门 & 洛谷题目传送门 当被数据结构搞自闭的 tzc 信心满满地点开一道 *2400 的 dp 题时-- 却发现自己不会做?! 这足以证明蒟蒻 dp 之菜/dk/ ...

  7. 【豆科基因组】绿豆Mungbean, Vigna radiata基因组2014NC

    目录 来源 一.简介 二.结果 基因组组装 重复序列和转座子 基因组特征和基因注释 绿豆的驯化 豆科基因组复制历史 基于转录组分析的豇豆属形成 绿豆育种基因组资源 三.讨论 四.方法 材料 组装 SN ...

  8. perl substr

    substr EXPR,OFFSET,LENGTH,REPLACEMENT substr EXPR,OFFSET,LENGTH substr EXPR,OFFSET Extracts a substr ...

  9. Linux—查看内核版本、系统版本、系统位数

    一.查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version   Linux version 2.6.9-22.ELsmp (bhcompile@crowe. ...

  10. 48-Merge Sorted Array

    $88. Merge Sorted Array My Submissions QuestionEditorial Solution Total Accepted: 98885 Total Submis ...