网站首页 > 精选教程 正文
在设计Pipeline脚本的过程中,经常会遇到调用外部脚本来配合实现某些功能的场景。例如在服务器上执行shell命令、运行python或者java测试代码以及使用groovy脚本来实现一些更为复杂的功能等等。下面我就会针对这三种最常用的脚本使用场景进行详细说明!
执行shell命令
1.使用 sh "<shell command>" 就可以完成执行shell命令的操作。
例如:进入某个目录
sh "cd myfile"
2.多条shell命令的组合使用,需要使用;进行连接
例如:进入某个目录,然后删除目录中的所有文件
sh "cd myfile;rm -rf *.*"
3.执行shell命令并获取其返回值
result = sh(script: "", returnStdout: true).trim()
例如:在jenkins的当前目录中查找是否有pom.xml文件
def exitValue = sh(script: "find ${WORKSPACE} -name pom.xml", returnStdout: true).trim()
if (exitValue.empty){
//没有找到,进行逻辑处理
}
使用groovy 脚本
有一个需求,从配置文件中读取url信息,我们可以通过groovy脚本实现,具体代码实现如下:
file = new File(filePath)
urls = file.readLines()
注意,需要把File 和readLines加入到jenkins的Script Approval中(首次运行,会提示是否加入),加入后在Dashboard>ScriptApproval页面可以看到相关结果,如下图所示:
调用java或者python脚本
本质上就是通过sh来运行py或者java脚本,我们以运行python脚本为例,代码如下:
1.执行脚本yourscript.py
sh" /usr/bin/python yourscript.py"
2.执行脚本yourscript.py,并传入参数param
sh"/usr/bin/python yourscript.py param"
3.pipeline中获取shell命令的标准输出方法如下:
举例:执行python 脚本获取其返回值
定义pyscript.py代码如下,目的是输出test
def func1():
print "test"
func1()
我们可以用下面的方法获取输出的test的值
def str = sh(script:"/usr/bin/python /opt/scripts/test/pyscript.py", returnStdout:true).trim()
执行代码后,test就会赋值给变量str。
猜你喜欢
- 2025-01-03 shell脚本 远程执行命令
- 2025-01-03 在远程服务器上运行本地 Shell 脚本,估计没人知道这方法
- 2025-01-03 挺好用!shell脚本日志技巧
- 2025-01-03 linux写一个shell脚本去进行ping探测
- 2025-01-03 【shell编程】你的第一个sh脚本
- 2025-01-03 Linux之shell编程
- 2025-01-03 Shell 脚本技术详解
- 2025-01-03 Shell脚本怎么写?Linux命令三剑客之sed命令
- 2025-01-03 Shell脚本怎么写?(0)
- 2025-01-03 Linux中如何通过Shell脚本来控制Spring Boot的Jar包启停服务?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)