如何在构建定义中重新运行失败的命令

How to Rerun failed cmds in a build defintion

我有一个构建定义,其中包含几个 cmd 运行 相同的 exe(通过命令行任务)但具有不同的参数。在构建定义的 运行 末尾,我想重新 运行 失败的命令。我可以写一个批处理文件,我可以在每个 cmd 运行 之后使用 %ERRORLEVEL% 检查状态,但是我如何重新 运行 它们?

遗憾的是,目前无法在 TFS vNext 构建中重新运行失败的构建任务。

我已经为你添加了用户语音。您可以投票并监督它。 TFS PM 将认真审核您的建议。

Rerun failed build task/step

https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/20067814-rerun-failed-build-task-step

目前您只能重新运行整个构建定义。另一种解决方法是使用 Conditional build tasks 两次添加相同的任务,这可能会成功。不过这对tfs2015是不可用的,这个功能只有在TFS 2017 Update 2及以上版本才有。

你必须这样做:

@echo off
cls
:a
echo Hello World! > C:\Windows\System32\file.txt
if %errorlevel% equ 1 goto b
echo Ran successfully!
pause

:b
cls
echo There was an error
pause
goto a

对于上述场景,我稍微调整了我的代码。我完全隔离了 main() 方法并将其放在一个简单的 try catch 块和一个从配置文件中获取其值的迭代器中。只要迭代器允许,它就会捕获,然后抛出异常。现在这对我有用。让我们希望 MS visual studio 团队考虑一下提出的要求!!无论如何谢谢!!