【问题标题】:Preventing TeamCity from publishing artifacts on failed build防止 TeamCity 在构建失败时发布工件
【发布时间】:2016-03-20 05:02:19
【问题描述】:

这是我项目的 TeamCity 配置:

  • TC 调用我的脚本 (FAKE - F# Make) 来构建和测试我的项目。
  • 作为最后一步,相同的脚本会创建一个 NuGet 包。
  • 然后我使用 TC 的“构建失败条件”机制来查看例如单元测试的总数不少于之前的构建。

即使在运行最后一步时构建失败,NuGet 包也会作为工件发布。

我想情况并非如此 - 构建失败,所以它提供的任何东西都不应该被认为是可靠的。

我发现大约 5 年前有人问过类似的问题: How do I set TeamCity to not produce build artifacts when the build fails?

这表示 TC 中没有内置机制来支持这一点。这段时间有什么变化吗?在网上找不到任何东西。

我使用 TeamCity 9.0。

【问题讨论】:

  • 为什么工件被发布是个问题?或者您说的是在 Feed 中发布 NuGet 包?
  • 完全正确 - 软件包可供下载。

标签: continuous-integration teamcity f#-fake


【解决方案1】:

对此我唯一的解决方案是将包部署到 NuGet 作为单独的构建配置。这样,您可以在 TeamCity 中设置您的依赖项/触发器,以便在您执行的构建步骤失败时它永远不会部署。

工件仍将在 TeamCity 端创建,因为正如您所说,如果构建失败,我找不到阻止这种情况的方法。但是,如果以这种方式设置,您的实际 NuGet 部署将永远不会执行,因为依赖项会在构建失败时阻止它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 2018-09-16
    • 2022-10-24
    • 2019-08-30
    • 2019-03-15
    相关资源
    最近更新 更多