2016-01-21 38 views
0

我使用BAT文件来运行TF命令行获取最新版本,然后调用Sonar runner BAT文件对最新代码运行分析。 我已使用Task Scheduler每小时自动执行此操作。 我只想在TF获取新代码的情况下运行Sonar分析,否则应跳过。使用TF命令行获取最新版本,仅当新代码已签入时,如何运行SonarQube分析?

我该如何做到这一点?我尝试搜索退出代码,但没有任何告诉我是否有新代码被提取。

回答

2

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执行。

+0

非常感谢@ bogdan-gavril-msft。将首先尝试通过脚本。最终的计划仍然是将其整合到CI,这将会在成功之后出现。 –

+0

另外,@ bogdan能否帮我指出一篇描述SonarQube CI集成的好文章? –

+0

Hi @AhmadZaib - 你正在使用什么构建系统?团队建设(也称为XAML构建|)或新的TFS构建(可与TFS 2015+或与服务产品一起提供),还是非微软的? –

相关问题