21-Jenkins-Pipeline-Pipeline Utility Steps插件之findFiles方法

本文介绍了Jenkins Pipeline Utility Steps插件中的findFiles方法,包括安装插件的步骤、前置准备、方法介绍和脚本示例。该方法用于在当前工作目录中查找匹配特定模式的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

安装插件

前置准备

findFiles方法介绍

脚本示例

日志输出


前言

  • 本篇开始介绍Pipeline Utility Steps这个插件的一些常用的方法

安装插件

  • Manage Jenkins --> Manage Plugins  --> 可选插件中搜索 pipeline Utility Steps,如下图

前置准备

  • 由于我们是在jenkins上直接运行代码,没有走gitlab方式拉取代码去构建,所有运行job不会自动在Jenkins node机器上创建当前这个jenkins job名称的文件夹路径。这里我们需要在运行的节点下新建一个以该job名称的文件夹,并在文件下新建3个txt文件

要准确找出构建阶段生成的所有pom.properties文件,可以使用`findFiles`方法来搜索指定目录下的文件。然后,使用Groovy的`each`方法遍历找到的文件列表,并提取其中的groupId、artifactId和version信息。 以下是一个示例的Jenkinsfile脚本,使用了`findFiles`和`each`方法来查找和提取pom.properties文件中的信息: ```groovy pipeline { agent any stages { stage('Build') { steps { // 构建你的jar包 // 示例:生成pom.properties文件 sh 'echo "groupId=com.example" > target/maven-archiver/pom.properties' sh 'echo "artifactId=my-app" >> target/maven-archiver/pom.properties' sh 'echo "version=1.0.0" >> target/maven-archiver/pom.properties' } } stage('Extract Information') { steps { script { def files = findFiles(glob: 'target/maven-archiver/pom.properties') files.each { file -> def fileContent = file.readToString() def groupId = fileContent =~ /groupId=(.*)/ ? fileContent =~ /groupId=(.*)/ : '' def artifactId = fileContent =~ /artifactId=(.*)/ ? fileContent =~ /artifactId=(.*)/ : '' def version = fileContent =~ /version=(.*)/ ? fileContent =~ /version=(.*)/ : '' echo "groupId: ${groupId[0][1]}" echo "artifactId: ${artifactId[0][1]}" echo "version: ${version[0][1]}" } } } } } } ``` 在这个示例中,我们首先使用`findFiles`方法来搜索`target/maven-archiver/pom.properties`文件。然后,使用`each`方法遍历找到的文件列表,并逐个提取其中的groupId、artifactId和version信息。 请注意,在提取信息时,我们使用了正则表达式和Groovy的匹配运算符`=~`。如果匹配成功,将提取的信息保存在相应的变量中。最后,使用`echo`方法打印出groupId、artifactId和version信息。 这种方法是一种简单且准确的方式来找出构建阶段生成的所有pom.properties文件,并提取其中的信息,而无需使用`new`关键字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习de测试小白

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值