我正在寻找一种方法来暂停Jenkins或让Jenkins在开始另一个批处理之前从批处理文件中完成任务。基本上我想要的是类似于跑步的东西:
start /wait batchfile.bat
但是当我运行这个Jenkins时,它就会挂起并且该过程永远不会完成。当我运行这样的事情时:
run %startpath%\firstbatch.bat
run %startpath%\secondbatch.bat
Jenkins在不同的线程中运行这两个批处理文件,这对我来说是个大问题。我需要完成批处理,因为他们烹饪和复制资产。触发的最终批处理会拉动资产并在途中发送它们,但如果未完成复制资产,则zip将在目录中没有所有文件的情况下启动。我能想到的唯一另一种方法是让每个批处理都在不同的构建中,并为Jenkins添加一个安静的时间段,但这只是猜测批处理脚本实际运行的时间。提前谢谢。
答案 0 :(得分:1)
尝试使用"调用batchfile.bat"这应该阻止,直到批处理文件完成运行。
答案 1 :(得分:0)
如果您希望它们按顺序运行,则应为每个批处理文件创建单独的构建作业,但您无需猜测它们运行所需的时间。在运行firstbatch.bat的作业的配置中,在Post Build Actions部分中选择“Build other projects”,并指定运行secondbatch.bat的作业。在第一份工作完成之前,这项工作不会开始。