【问题标题】:Rerun successful build-step on TFS在 TFS 上重新运行成功的构建步骤
【发布时间】:2019-11-06 23:03:51
【问题描述】:

根据other SO question,我有一个测试偶尔会在 tfs 中失败,这意味着其中一个构建步骤有时会失败。

构建步骤可能每运行 10 到 20 次就会失败。

因此我想知道,是否有一种简单的方法可以在 tfs 上重新运行成功的构建步骤?

【问题讨论】:

  • 我不太明白,如果测试会失败,那么您想自动重新运行构建吗?
  • @ShaykiAbramczyk 不,我想一次又一次地重新运行成功的构建步骤 n 次,希望不会失败。如果失败,我将不得不再次进行一些更改,然后进行新的提交。
  • @ShaykiAbramczyk 一种简单的方法是在代码中放置一个空格并进行新的提交,但这将迫使所有构建步骤再次运行,并意味着花费大量非生产性时间,我想。
  • 现在我明白了 :) 有趣的请求...我可以考虑一个带有多行 msbuild 的 powershell 脚本,你怎么看?
  • @ShaykiAbramczyk 不需要,但谢谢。还有一些很好的在线教程,所以我不应该懒惰,但如果他们有一个重新运行按钮或其他简单的东西,那在我的情况下会很棒。只是想知道是否有其他人有同样的问题并找到了一个简单的解决方法:)

标签: tfs version-control automated-tests pull-request


【解决方案1】:

我不认为有运行任务n 次的功能,但这里有一个运行构建多次的解决方法(PowerShell 脚本):

$times = 30
For ($i=1; $i =lt $times; $i++) {

    Write-Host "*** Start to build $i time ***"
    # I use VS 2019 Enterprise, change the path if you have another version
    cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Currnet\Bin"
    # Change the folder/sub folder to your solution path
   ./msbuild.exe "$(Build.SourcesDirectory)\{your soultion name}.sln"
}

【讨论】:

  • 太好了 - 谢谢。它正在运行并返回一个不错的状态,没有错误。构建步骤虽然不会影响我的 tfs,但结果不应该是一样的吗?因此,例如,如果运行脚本 30 次,并且我没有收到任何错误,那么我是否应该假设/相信它也适用于我的 tfs-build-steps?
  • 我不知道你构建步骤失败的确切原因,你只需要运行它几次并检查我是否可以信任它..
猜你喜欢
  • 2017-06-26
  • 1970-01-01
  • 2016-05-23
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
相关资源
最近更新 更多