使用 msbuild 和 bamboo 构建静态代码分析警告失败

Fail build on static code analysis warnings with msbuild and bamboo

将 bamboo v5.7 与 msbuild v12 结合使用,如果出现任何静态代码分析警告,我该如何使构建失败?我们确实将我们的项目全部设置为将所有警告视为错误,因此项目本身不会构建,但 bamboo 没有检测到这一点并继续进行。

这看起来很基本,我可能做错了什么?

简单的回答是你没有做错任何事,也没有遗漏任何东西。

虽然它看起来像是基本功能,但 Bamboo 的 MSBuild 任务目前不支持读取、报告或因警告或错误而导致构建失败。该任务失败的唯一原因是 MSBuild(如果您使用的是 Mono,则为 XBuild)returns 在发生编译器错误时出现错误代码。

此外,MSBuild 实际上也不支持所有警告失败,如您所见here

你有几个选择。

  • 您可以使用 referenced post
  • 中的选项之一
  • 您可以使用 Atlassian's Plugin SDK 推出您自己的 MSBuild 日志解析器插件。
  • 您可以制作一个简单的脚本,在构建后执行,读取日志,如果有编译器警告,returns 一个非零整数。
  • 您可以在 Atlassian Jira and also for the related issue 中为解析构建详细信息的问题投票。

无论您的解决方案是什么,我都希望您能与我们中有 运行 遇到同样问题的许多人分享。这似乎是很常见的事情,所以我很惊讶在 Atlassian 的 Jira 实例中没有为此打开的问题

对于 VS 2008 及更高版本,为此添加了一个新的项目设置。参见 this link。