是否可以在Azure Devops Build管道中实现代码克隆检测?

时间:2019-07-24 13:44:44

标签: .net visual-studio msbuild azure-devops azure-pipelines

我们已经在Azure DevOps中配置了构建管道(CI)。以下是定义(yml),如果有帮助的话:

{{1}}

我们想利用Visual Studio(https://blogs.msdn.microsoft.com/zainnab/2012/06/28/visual-studio-2012-new-features-code-clone-analysis/)的克隆代码检测功能在代码库中找到重复的代码,以便团队可以进行修复。

要在构建定义中使用此功能,我需要做哪些更改?

1 个答案:

答案 0 :(得分:1)

无法从命令行执行Visual Studio代码克隆检测。但是,要实现所需的功能,可以使用JetBrains Resharper CLI的命令行代码克隆检测工具。

请参阅:https://blog.jetbrains.com/dotnet/2013/09/03/duplicate-finder-part-of-resharper-command-line-tools/

在CI管道中运行此类工具的问题是,没有一种好方法可以在Azure DevOps UI中报告克隆或使构建完全在您希望的时候失败。有些克隆就是。其中一些是故意的。因此,理想情况下,这些工具可以在IDE中运行,并且开发人员可以在那里解决问题。

使用Jetbrains Duplicate Finder,您可以至少将代码段标记为“已排除”,以防故意复制。使用代码克隆分析,您可以添加解决方案特定的配置文件来实现此目的。