我有一个jenkins盒子和一系列数百个虚拟机器。我们有一个脚本,它使用psexec对每台机器运行一组测试。
为了加快脚本的运行时间,我们一直使用-d标志,这样我们就不会等待每个命令完成,然后才能在循环中启动下一个命令。我已经确认这些测试在手动运行时是有效的。
当我尝试使用Jenkins安排这项工作时,麻烦就开始了。我一直在构建失败。有趣的是,当我调查虚拟机时,我发现所有内容都已正确执行。在工具周围我删除了-d标志,瞧,构建开始传递。
不幸的是,这不是一个可扩展的项目,并且这些项目按顺序运行,而且-d标志不可行。
我需要知道是否有办法让jenkins与psexec -d一起使用。似乎构建失败了,因为我们在没有收到psexec的预期响应的情况下进入下一步。有没有办法可以假装这个?
谢谢,
答案 0 :(得分:1)
我已经得到了解决方案,但我对其他方法持开放态度,因为我似乎不太理想。
由于jenkins正在等待批处理脚本的响应,而psexec -d将无法及时提供,我已将出口0附加到批处理脚本的末尾。这给了我们每次执行的积极结果,让我顺利完成任务。
不幸的是,我担心它还会掩盖导致合法失败的其他错误,因此我不得不将其分解为多个批处理以隔离这种屏蔽效果。