如何在Azure DevOps构建流水线中执行代码指标计算
Azure DevOps 构建流水线集成代码指标计算方案
Visual Studio 内置的代码指标功能底层基于微软 Roslyn 分析引擎实现,你可以在 Azure DevOps 流水线中直接调用官方提供的配套工具得到完全一致的计算结果,落地步骤如下:
操作步骤
- 环境准备:首先在构建代理中安装官方代码指标工具,执行命令
dotnet tool install -g dotnet-code-metrics即可。如果是 .NET Framework 旧格式项目,可以使用微软官方的Metrics.exe工具,提前部署到构建代理路径即可。 - 指标计算:针对完整解决方案执行计算的命令为
dotnet code-metrics collect 你的解决方案名称.sln --output-file 结果文件路径.json,如果需要排除测试项目等非业务代码,可追加参数--exclude *Test*.csproj过滤指定项目。 - 结果存储与展示:可以直接把生成的指标结果文件作为构建产物上传到流水线,也可以自定义脚本提取核心指标,写入到构建摘要中方便直接查看。
补充说明:工具计算得到的指标维度和 Visual Studio 内置功能完全一致,涵盖可维护性指数、圈复杂度、类继承深度、类耦合度、有效代码行数等核心维度,不存在计算规则差异导致的结果偏差。
如果你使用 YAML 格式的流水线,可以参考如下配置片段:
steps: # 安装代码指标工具 - task: DotNetCoreCLI@2 displayName: '安装 dotnet-code-metrics 工具' inputs: command: 'custom' custom: 'tool' arguments: 'install -g dotnet-code-metrics' # 计算全项目代码指标 - task: DotNetCoreCLI@2 displayName: '计算代码指标' inputs: command: 'custom' custom: 'code-metrics' arguments: 'collect MyProject.sln --exclude *Test*.csproj --output-file $(Build.ArtifactStagingDirectory)/code-metrics.json' # 上传指标结果作为构建产物 - task: PublishBuildArtifacts@1 displayName: '上传代码指标结果' inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'CodeMetricsResult'
内容的提问来源于stack exchange,提问作者Albert T
相关产品推荐
相关产品推荐

