【问题标题】:TeamCity - MSBuild Code AnalysisTeamCity - MSBuild 代码分析
【发布时间】:2014-10-16 05:40:53
【问题描述】:

我已经使用 Jenkins CI 几年了,我想学习 TeamCity。

在 Jenkins 中,我通过对我的 .net 项目启用代码分析,然后告诉 Violations 插件在哪里可以找到代码分析 XML 文件来跟踪 FxCop 问题,即 MSBUILD 将在构建中放置一个名为 [项目名称].CodeAnalysisLog.xml 的文件输出目录,您可以使用 **/*/*CodeAnalysisLog.xml 之类的内容通过 Violations 插件查找这些文件。

TeamCity 有自己的 FxCop 运行器,但我不想再次运行 FxCop,因为 MSBuild 已经为我完成了。

我只想能够告诉 TeamCity 在哪里可以找到 XML 文件并让它生成趋势图,就像 Jenkins 使用 Violations 插件一样。

我对 StyleCop、jsLint 和 cssLint 也有类似的问题。作为生成的一部分运行的 MSBuild 生成任务或批处理命令会生成 XML 输出。我想用这个输出来创建趋势图。

【问题讨论】:

  • 你能告诉你如何在编译中实现 JSLint 和 CSSLint 并生成 XML 输出吗?我为 FxCops 和 StyleCop 做过。但是没有为 JSLint 和 CSSLint 找到合适的 nuget 包
  • 可能有几种方法可以进行 JS 和 CSS linting。我使用 npm 安装 jsHint 和 cssLint,然后运行(我使用“jsHint”而不是“jsLint”,因为这是 Visual Studio Web Essentials 过去使用的)。对于 cssLint,我使用以下命令生成 XML:csslint --format=lint-xml --ignore=%ignoreRules% %cssFile% > %xmlOutputFile% || EXIT 0。对于 jsHint,我使用以下命令生成 XML:jshint --reporter=jslint %jsDirectory% > %xmlOutputFile% || EXIT 0.

标签: teamcity jslint fxcop stylecop csslint


【解决方案1】:

据我所知,TeamCity 在报告方面与 Jenkins 不同,因为它采用 HTML 格式。这就是我们必须为代码质量分析产品做的事情——将我们的 XML 报告转换为 TeamCity 的 HTML。因此,与我们拥有的 Jenkins 插件不同,当与 TeamCity 集成时,我们无法进行违规趋势报告。我们没有查看在过去几年中是否有 TeamCity 的变化可以启用 XML 报告输入。

【讨论】:

  • 对于 Jenkins,它只需要 XML 并生成趋势图。你是说对于 TeamCity,我需要自己从 XML 生成报告,然后让 TeamCity 使用它?
  • 是的,您需要先将该 XML 转换为 HTML,然后再导入 TEamCity。这就是我们所做的。
  • 唉,要是 Jenkins 能像 TeamCity 一样检测到 Git 分支就好了。在Jenkins中获取下拉列表分支构建参数需要太多配置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2017-09-26
  • 1970-01-01
  • 2017-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多