【问题标题】:jenkins does not complete 'execute windows command' stepjenkins 未完成“执行 windows 命令”步骤
【发布时间】:2017-08-06 16:45:37
【问题描述】:

我使用“执行 Windows 批处理命令”选项在 Jenkins 中运行一堆 Windows 命令作为构建步骤。但是,在执行某些命令后构建停止,忽略其余命令,并显示“Finished: SUCCESS”。这是我的“执行 Windows 批处理命令”的样子:

xcopy source\dir dest\dir
7z x file_name.zip
cd extracted_dir_name
rmdir /s /q stale_output
command_to_be_run
another_command_to_be_run
post_processing_
copy_and_zip_commands_

Jenkins 一直执行到another_command_to_be_run,然后就像在那之后没有其他命令一样停止,并说“完成:成功”。 为什么会这样?如何执行后处理命令?

PS:command_to_be_runanother_command_to_be_run 需要几秒钟以上的时间,但我不知道这是否重要。

编辑: 我后来尝试用REM 注释掉another_command_to_be_run,然后所有其他后处理命令都运行良好。好奇怪!希望这能敲响任何警钟。提前谢谢..!!!

【问题讨论】:

  • 很可能,您正在运行的命令之一是 .bat 或 .cmd 文件。请务必在调用其中一个之前使用“call”关键字,否则您的脚本将在此之后停止。
  • @BradBales 是的,我认为这可能是问题所在。其中之一是 bat 文件。让我试试你的解决方案。
  • @BradBales 谢谢,它成功了!!然而,这只是一个小故障:call batch_file.bat 之后的命令现在运行时不会在控制台上显示该命令。你知道如何解决这个问题吗?
  • 不客气!我之前在 windows 下与 Jenkins/Hudson 斗争过......祝你好运!
  • 很可能正在调用的批处理文件正在设置“回声关闭”。执行该批处理文件后,您可能需要执行“@echo on”...

标签: windows batch-file jenkins cmd


【解决方案1】:

您正在运行的命令之一很可能是 .bat 或 .cmd 文件。如果您在调用其中一个之前不使用“call”关键字,那么您的主脚本将在此之后停止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多