我正在使用PostBuildScript Jenkins 中的插件可在构建后操作中触发一些 Windows 批处理命令
我在作业的构建后操作中添加执行脚本
这就是我在directory.bat
中编写的内容,用于创建包含当前时间+环境+作业名称的目录
for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a
set time=%TIME:~0,2%"_"%TIME:~3,2%
mkdir D:\Report_Backup\%date:/=%"_"%time%"_"%Environment%"_"%JOB_NAME%\%test-results
xcopy "D:\bvt_workspace\project-name\test-results" D:\Report_Backup\%date:/=%"_"%time%"_"%Environment%"_"%JOB_NAME%\test-results /E /S /Q /Y
不幸的是,Environment
和 JOB_NAME
没有被替换。但是,如果我在构建步骤中替换执行 Windows 批处理命令
中的相同代码,它就会像魅力一样工作。
注意:我无法添加多个构建步骤
,因为我使用一个来触发构建。
有什么想法吗?如何让它发挥作用?
最佳答案
这听起来像 Script executed by PostiBuildScript plugin is unable to use Environment variable defined in Jenkins问题。
建议的解决方法是配置您的插件以将所需的环境变量作为参数传递给批处理脚本(根据您的情况):
D:\directory.bat $Environment $JOB_NAME
在 directory.bat
的开头:
set Environment=%1
set JOB_NAME=%2
...
关于java - 无法替换批处理文件中的参数值 - PostBuildScript 插件 Jenkins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60337149/