【问题标题】:Unable to replace parameter values in batch file - PostBuildScript plugin Jenkins无法替换批处理文件中的参数值 - PostBuildScript 插件 Jenkins
【发布时间】:2020-02-23 01:28:51
【问题描述】:

我在 Jenkins 中使用PostBuildScript 插件在后期构建操作中触发一些 Windows 批处理命令

我在 Job 的 Post build action 中添加 Execute Script

这就是我在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

很遗憾,EnvironmentJOB_NAME 没有被替换。但是如果我在构建步骤中替换Execute Windows Batch Command 中的相同代码,它就像一个魅力。

注意:我无法添加多个Build Step,因为我正在使用一个来触发构建。

任何想法,如何使它工作?

【问题讨论】:

    标签: java jenkins continuous-integration jenkins-plugins


    【解决方案1】:

    这听起来像是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
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-14
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      相关资源
      最近更新 更多