jenkinsfile调用本地bat读取本地文件设置参数

jenkinsfile groovy调用本地bat读取本地文件设置参数

why

在jenkinsfile使用groovy语法. 去调用windows下的bat时候, 想要以本地文件的内容为变量.
但是因为jenkins的限制, 并不能导入groovy中对于本地文件读写包, 则这个时候就要通过window自己的bat命令读内容设置变量了.

每调用一次bat时, 新起一个临时bat文件,则set属性后只能在本次调用中使用.
这样的限制下, 要在调用中重复使用该属性, 则应该用&或者&&来合并多行命令.(&顺序执行,无论对错. &&顺序执行,遇错即停)

how


// 1.设置变量延迟
// 2.获取文本内值作为变量
// 3.输出变量
// 4.切换到对应目录
// 5.显示目录
// 6.打包目录下所有文件到根目录(避免压缩包内路径过深)

bat "setlocal enabledelayedexpansion&&set /p version=<${artifact_id}/guide.txt&&echo !version!&&cd ./${artifact_id}/!version!&&dir&&WinRAR a ../../${artifact_id}.zip *"

对应的.bat文件内容应该是

setlocal enabledelayedexpansion
set artifact_id=%1
set /p version=<%artifact_id%/guide.txt
echo !version!
cd ./%artifact_id%/!version!
dir
WinRAR a ../../%artifact_id%.zip *
原文地址:https://www.cnblogs.com/jrri/p/13897193.html