jenkins_Pipeline_grooy&常见的dsl

Groovy-简介

Groovy是一种功能强大,可选类型和动态语言,支持Java平台

旨在提高开发人员的生产力得益于简洁,熟悉且简单易学的语法。

可以与任何Java程序顺利集成,并立即为您的应用程序提供强大的功能,包括脚本编写功能,特定领域语言编写,运行时和编译时元编程以及函数式编程

复制代码
https://bintray.com/artifact/download/groovy/maven/apache-groovy-binary-2.5.8.zip

1.下载安装包(先安装JDK)
2.解压安装包
3.获取安装包bin目录
4.写入/etc/profile文件
export GROOVY_HOME=xxx
export PATH=$PATH:$GROOVY_HOME/bin
source /etc/profile

[root@vm ~]# groovyConsole  #无图形化,打不开groovyConsole
[root@vm ~]# groovysh
groovy 复制代码
// Groovy数据类型-string
表示:单引号、双引号、三引号
常用方法:
contains()是否包含特定内容 返回true false
size()1ength()字符串数量大小长度
toString()转换成string类型
index0f()元素的索引
endsWith()是否指定字符结尾minus()plus() 去掉、增加字符串
reverse()反向排序
substring(1,2)字符串的指定索引开始的子字符串
toUpperCase()toLowerCase()字符串大小写转换
split()字符串分割 默认空格分割 返回列表
# "devopstestops".endsWith("ops")   #true

// Groovy数据类型-list
列表符号:[]
常用方法
+ - += -= 元素增加减少
isEmpty()判断  是否为空
add() 添加元素
intersect([2,3]) disjoint([1])	取交集、判断是否有交集
flatten()	合并嵌套的列表
unique()	去重
reverse()sort()	反转 升序
count()元素个数
join()将元素按照参数链接
sum() min() max() 求和 最小值 最大值
contains() 包含特定元素
remove(2)removeA11()
eachf}遍历


// Groovy数据类型-map
表示:[:]常用方法:
size()map大小
['key'] .key get()获取value
isEmpty()是否为空
containKey()是否包含key
containValue()是否包含指定的value
keySet()生成key的列表
each{}遍历map
remove('a') 删除元素(k-v)

流程语句

groovy 复制代码
Groovy条件语句-if
Groovy条件语句-switch // 跟shell的case相似
Groovy循环语句-for/while
Groovy函数
Groovy正则表达式

jenkins常用的DSL方法

使用流水线语法工具生成代码片段

groovy 复制代码
// 找不到的都需要装插件
readJSON 	//Json数据格式化
withCredentials		//凭据
checkout		//git 或者svn 代码切换分支
publishHTML		// 生成html报告
input		 //  交互停留,选择输入
BuildUser		// 构建用户,需插件支持
httpRequest		// 接口访问,传参,需插件支持,
email		// 邮件通知
rtUpload
cleanWs
junit
archive
相关推荐
荣--17 小时前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森18 小时前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜1 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode4 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220704 天前
如何搭建本地yum源(上)
运维
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠7 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质7 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工8 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信