防止 TeamCity 在失败的构建上发布工件

Preventing TeamCity from publishing artifacts on failed build

这是我项目的 TeamCity 配置:

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

我想情况并非如此 - 构建失败,因此不应将其提供的任何内容视为可靠的。

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

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

我使用 TeamCity 9.0。

我对此的唯一解决方案是将包部署到 NuGet 作为单独的构建配置分开。这样,您可以在 TeamCity 中设置您的 dependencies/triggers,这样如果您的构建步骤失败,它就永远不会部署。

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