我使用BAT文件来运行TF命令行获取最新版本,然后调用Sonar runner BAT文件对最新代码运行分析。 我已使用Task Scheduler每小时自动执行此操作。 我只想在TF获取新代码的情况下运行Sonar分析,否则应跳过。使用TF命令行获取最新版本,仅当新代码已签入时,如何运行SonarQube分析?
我该如何做到这一点?我尝试搜索退出代码,但没有任何告诉我是否有新代码被提取。
我使用BAT文件来运行TF命令行获取最新版本,然后调用Sonar runner BAT文件对最新代码运行分析。 我已使用Task Scheduler每小时自动执行此操作。 我只想在TF获取新代码的情况下运行Sonar分析,否则应跳过。使用TF命令行获取最新版本,仅当新代码已签入时,如何运行SonarQube分析?
我该如何做到这一点?我尝试搜索退出代码,但没有任何告诉我是否有新代码被提取。
Visual Studio团队服务或TFS 2015+
您可以配置构建要在持续集成(CI)触发,即每当更改,构建被触发。构建可以是任何你想要的,从调用适当的msbuild/mstest和SonarQube任务或使用cmd/powershell/bash做你自己的东西。
要了解更多有关整合SonarQube分析TFS构建见:https://blogs.msdn.microsoft.com/visualstudioalm/2015/08/24/build-tasks-for-sonarqube-analysis/
TFS 2013
您可以配置一个XAML构建对持续集成运行
通过脚本
当改变happ时,连续集成构建是运行逻辑的推荐方式在你的代码中。但是,如果您想使用“tf get” - 您可以捕获“tf get”的输出,并且如果匹配“所有文件都是最新的”,则不执行任何操作,否则会触发SonarQube执行。
非常感谢@ bogdan-gavril-msft。将首先尝试通过脚本。最终的计划仍然是将其整合到CI,这将会在成功之后出现。 –
另外,@ bogdan能否帮我指出一篇描述SonarQube CI集成的好文章? –
Hi @AhmadZaib - 你正在使用什么构建系统?团队建设(也称为XAML构建|)或新的TFS构建(可与TFS 2015+或与服务产品一起提供),还是非微软的? –