Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在TFS构建中执行sonar runner 中计算、测试和关联变更集和工作项_Tfs_Sonarqube - Fatal编程技术网

在TFS构建中执行sonar runner 中计算、测试和关联变更集和工作项

在TFS构建中执行sonar runner 中计算、测试和关联变更集和工作项,tfs,sonarqube,Tfs,Sonarqube,制作DefaultTemplate.xaml的副本,该文件位于团队项目的/BuildProcessTemplates文件夹中。可以随意命名它-SonarRunnerTemplate.xaml或其他名称 在VisualStudio中打开新模板 点击右上角的“全部折叠”,轻松导航到正确的活动 如果设置了DropBuild和DropLocation,请浏览到过程序列在代理上运行尝试在最终子句>中计算、测试和关联变更集和工作项

制作DefaultTemplate.xaml的副本,该文件位于团队项目的/BuildProcessTemplates文件夹中。可以随意命名它-SonarRunnerTemplate.xaml或其他名称

  • 在VisualStudio中打开新模板

  • 点击右上角的“全部折叠”,轻松导航到正确的活动

  • 如果设置了DropBuild和DropLocation,请浏览到
    过程
    序列
    在代理上运行
    尝试在
    最终
    子句>
    中计算、测试和关联变更集和工作项
    <

  • 在“Then”框中,您将看到一个
    将文件复制到放置位置
    活动。暂时将其移动到“Else”框中

  • 将工具箱中的
    序列
    活动添加到(现在为空)然后框中

  • 复制文件到放置位置
    (我们之前移动过)移回刚才添加到Then框中的序列活动中

  • 从工具箱中添加一个
    InvokeProcess
    活动,以便在“将文件复制到放置位置”活动之后运行

  • 打开InvokeProcess活动的属性。
    FileName
    字段是您需要执行的命令。在本例中,执行Sonar runner的命令。编写运行Sonar的批处理或powershell脚本可能是最简单的。。。然后调用它

  • 保存生成过程模板并将其添加到TFS。然后,您可以将此模板用于生成定义


  • 这种方法的一个问题是,在InvokeProcess命令返回之前,构建不会“完成”。因此,如果你的声纳运行需要很长时间(我知道我已经看到一个大型代码库需要24小时以上),那么构建将永远需要完成。这可以通过让脚本从Sonar进程异步生成来缓解。作为Microsoft和SonarQube合作的一部分,现在有一种正式的方法让MsBuild和TeamBuild与SonarQube一起工作。您可以在SonarQube网站上找到所有详细信息:

    以及在Microsoft ALM网站上:

    ALM rangers还准备了文档,描述了如何安装SonarQube并将其与现有TFS服务器集成:


    以下是您的答案吗,卡瓦略?如果是,请接受!