如果违反规则,则使TeamCity FxCop构建步骤导致构建失败

5
我有两个构建步骤:Visual Studio (sln)构建运行程序,然后是FxCop构建运行程序。我正在使用TeamCity 6.0.1和FxCop 10.0。
默认情况下,TeamCity中的FxCop runner似乎只会报告规则违反情况,并在Code Inspection标签上生成报告。我想确保如果发生任何违规行为,该构建步骤将失败,从而导致整个构建失败。
是否有办法实现这一点?
2个回答

2
请在您的FxCop构建步骤配置中设置错误限制属性为0。这样,如果存在至少一个分析错误,就会中断构建。
此外,还有一个类似的警告限制属性。如果您不想允许任何警告级别的规则违规行为,请在此字段中插入值0。如果您希望允许规则违规行为,其中规则属性BreaksBuild == False,请将此属性留空。
我已经尝试使用TeamCity 6.0(构建15772)和FxCop 10.0。
[14:39:22]: [Step 2/2] Importing inspection results
[14:39:22]: [Step 2/2] Errors limit reached: found 8 errors, limit 0
[14:39:22]: [Step 2/2] ##teamcity[buildStatus status='FAILURE' text='Errors: 8, warnings: 1']

根据我的经验,“分析错误时失败”标志仅确保如果FxCop存在加载错误(例如无法加载引用的程序集),则构建步骤会导致构建失败。当违反规则时,该标志不会导致构建失败。 - Llyle
对不起,你是正确的。 "分析错误时失败"标志不是你要找的。我会尽力给出更好的答案。 - KimCM
我一直在通过MSBuild运行FxCop。使用一些XPath,您可以查询结果XML文件并选择是否相应地中断它。有关报告解析,请参见http://www.ademiller.com/blogs/tech/2009/06/making-sure-fxcop-warnings-and-errors-break-the-build/。有关TeamCity中服务消息的信息,请参见http://confluence.jetbrains.net/display/TCD65/Build+Script+Interaction+with+TeamCity。 - Colin Bowern

0
在版本7.0 EAP中,有一个特殊的“构建失败条件”在构建配置=>构建失败条件=>添加构建失败条件中,例如:“如果检查错误数量超过30,则构建失败”。

那听起来相当有前途,这将是我在更高级的构建配置中经常使用的功能。 - Llyle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接