百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Jenkins Pipeline调用shell、python、java脚本的正确使用姿势

off999 2024-10-11 14:03 39 浏览 0 评论



在设计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。

相关推荐

hotmail电子邮箱登录(hotmail邮箱在线登录)

***@hotmail.com1、其中***是你自己申请的邮箱的用户名。2、hotmail要写在符号@后面。3、最后加上.com,这样就是一个完整的hotmail邮箱的格式。4、比如:zhangj...

qq恢复官方网站聊天记录(qq恢复聊天记录在哪里)
  • qq恢复官方网站聊天记录(qq恢复聊天记录在哪里)
  • qq恢复官方网站聊天记录(qq恢复聊天记录在哪里)
  • qq恢复官方网站聊天记录(qq恢复聊天记录在哪里)
  • qq恢复官方网站聊天记录(qq恢复聊天记录在哪里)
win10iso文件(win10iso文件怎么安装)

安装Win10ISO系统文件需要以下步骤:1.首先需要从Microsoft官网下载Win10ISO系统文件,打开网站后选择Win10的版本、语言和架构(32位或64位),点击下载即可。2.下载...

qq邮箱登录不上去怎么回事(qq邮箱怎么登陆不上去)
  • qq邮箱登录不上去怎么回事(qq邮箱怎么登陆不上去)
  • qq邮箱登录不上去怎么回事(qq邮箱怎么登陆不上去)
  • qq邮箱登录不上去怎么回事(qq邮箱怎么登陆不上去)
  • qq邮箱登录不上去怎么回事(qq邮箱怎么登陆不上去)
英特尔显卡性能排行(英特尔显卡性能排行天梯图)

IRIS(英特尔第四/五代集成显卡)英特尔第四代集成显卡,分为HD4200/4400/4600,HD5100/5200。代号为GT2/3/3e,中文名为锐炬。hd420044004600和台式...

电脑做系统u盘启动选项(做系统开机u盘怎么选择)

操作须知:1、设置U盘启动分很多种:传统legacy机型设置、uefi新机型设置、uefi机型改legacy启动设置2、由于电脑品牌以及机型非常多,这边仅列举一部分电脑的设置方法,3、如果是uefi机...

未安装nvidia控制面板(电脑未安装nvidia控制面板)

如果你使用的是Nvidia显卡,但未安装Nvidia控制面板,则可能会遇到以下问题:1.无法进行高级显卡设置:Nvidia控制面板提供了高级显卡设置选项,例如显卡超频、显示器分辨率和刷新率、视频调整...

u盘检测不到怎么修复(u盘检查不了是什么原因)

以下是可能的解决办法:1.更换不同的USB端口。有时候电脑某个USB端口可能出现问题,试试换一个不同的端口。2.重启电脑。有时候出现问题的USB端口可能需要重启才能正常。3.插拔几次U盘。有时候...

win7 共享设置(win7共享设置详细步骤)

1.进入控制面板家庭组页打开控制面板找到网络和Internet下面的家庭组和共享选项并打开?2.进入更改高级共享设置打开以后选择更改高级共享设置功能进入?3.开启文件和打印机共享开启文件和打印机共享,...

电脑硬盘怎么装步骤图(电脑硬盘怎么装步骤图片)

1、查看硬盘的各项信息。硬盘的背面会有硬盘的存储容量以及电压,功率,转速等基本信息。2、购买到的一整块硬盘里面包括硬盘、对接线跟螺丝钉。将对接线和螺丝钉摆在一旁。3、在硬盘的上方会有两个SATA接口,...

小马win10永久激活(小马win10永久激活工具使用方法)

很简单,重装系统win7,这个可以激活的,然后根据推送升级win10,如果有强迫症可以升级以后重新安装win10系统,以后都是自动联网激活的。安全。小马激活工具win10版是小马专门为windowns...

win10开机欢迎时间太长(开机欢迎界面时间长)

win10第一个就是你系统里的垃圾太多,如果系统垃圾太多,直接清理垃圾就可以解决这个问题,第二个就是你的开机启动项过多,如果开机启动项过多,直接关闭不必要的开机启动项就可以缩短开机时间,就可以解决你...

登录126邮箱入口(登录126邮箱入口官网)

126邮箱是网易的一个免费邮箱登录入口在浏览器输入:mail.126.com浏览器进入126邮箱网站之后,即可自行登录126邮箱账号。如何在手机上登录126邮箱1、打开手机,找到并打开网易邮箱软件。2...

如何让防火墙允许某个软件(如何允许防火墙阻止访问)

1.打开电脑的开始菜单,找到控制面板选项,并点击打开。2.在打开的控制面板中,找到防火墙选项,并点击打开。3.在打开的防火墙界面中,单击左侧的允许程序通过防火墙选项。4.在跳转的界面中,选择允许通过防...

智慧工厂管理系统(智慧工厂管理系统哪家好)
智慧工厂管理系统(智慧工厂管理系统哪家好)

智慧工厂智能化系统整体的解决方案分为三个主要部分,分别是现场控制系统(FDC)、生产数据管理系统(PDM)以及工厂数字化协同平台(LCT)。其中,现场控制系统(FDC)是智慧工厂系统非常重要的核心组成部分,它是一个支持大规模互联的集群控制系...

2025-11-13 22:03 off999

取消回复欢迎 发表评论: