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
相关推荐
啊湘8 分钟前
服务器维护------日志大小控制
运维·服务器·日志大小
qq_366086221 小时前
SQL Server 之 Full-Text Search 全文搜索
运维·服务器·数据库
2401_873587821 小时前
Linux——应用层协议定制
linux·运维·网络协议
大榕树信息科技1 小时前
动环监控如何提升数据中心的运维效率和安全性?
运维·网络·物联网·机房管理系统·动环监控系统
AC赳赳老秦2 小时前
Confluence + DeepSeek:构建自动化、智能化的企业知识库文档生成与维护体系
大数据·运维·人工智能·自动化·jenkins·数据库架构·deepseek
馨谙3 小时前
shell编程三剑客------sed流编辑器基础应用大全以及运行示例
linux·运维·编辑器
驱动探索者3 小时前
Linux list 设计
linux·运维·list
遇见火星3 小时前
在Linux中使用parted对大容量磁盘进行分区详细过程
linux·运维·网络·分区·parted
zhangrelay4 小时前
linux下如何通过与AI对话设置thinkpad电池充电阈值
linux·运维·笔记·学习
hqwest5 小时前
WPF真入门教程36--真硬核【自动化生产管理平台】
运维·自动化·modbus通信·串口设备·自动化生产管理平台·wpf开发