使用 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。
将 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。