Jenkins cd到一个有图案的文件夹?

qv7cva1a  于 2023-02-07  发布在  Jenkins
关注(0)|答案(1)|浏览(170)

这是我的文件夹结构。
工作区文件夹:D:\节点\我的节点
1.当Jenkins build在节点上运行时,scm中的文件将下载到以下文件夹:D:\节点\我的节点\xx_开发
我需要做的cd文件夹“xx_development”和这个名称xx可以改变不同的strasms(RTC),但“_development”保持不变。
我如何使用管道脚本将cd转移到带有(*development)文件夹?
编辑:我正在为Jenkins使用windows节点。

mm5n2pyu

mm5n2pyu1#

要将当前目录更改为具有模式 *_development的文件夹,可以使用以下脚本:
对于Windows:

def folder = bat(returnStdout: true, script: 'dir /b /ad | findstr "_development"').trim()
bat "cd ${folder}"
  • 目录/b/ad|findstr "_development"--〉列出当前文件夹中的所有目录,并按pattern_development过滤它们。
  • /b--〉仅列出目录名。
  • /ad--〉仅列出目录。
  • findstr--〉来按照模式开发过滤输出。
  • 第二行将当前目录更改为存储在Folder变量中的目录。

对于Linux:

def Folder = sh(returnStdout: true, script: 'ls -d */ | grep "_development"').trim() 

sh "cd ${Folder}"
  • 一次总收入-d */|grep "_development"--〉列出文件夹中的所有目录,并按pattern_development进行过滤。
  • trim()--〉如果有任何前导或尾随空格,则使用此命令删除它们。
  • 第二行将当前目录更改为存储在Folder变量中的文件夹。

相关问题