在 TFS 构建中执行 sonar-runner

2024-01-05

如何在持续集成中生成 TFS(Team Foundation Server)构建结束时运行 sonar-runner 的命令? 信息:TFS 2013、Windows Server 2008 R2、sonar-runner 2.3


在构建过程中执行任意命令的唯一方法是将 InvokeProcess 活动添加到 BuildProcessTemplate。这并不像乍看起来那么困难。

  1. 复制位于团队项目的 /BuildProcessTemplates 文件夹中的 DefaultTemplate.xaml。将其命名为任何您想要的名称 - SonarRunnerTemplate.xaml 或其他名称。

  2. 在 Visual Studio 中打开新模板

  3. 点击右上角的“全部折叠”可以轻松导航到正确的活动。

  4. 浏览至Process > Sequence > Run On Agent > Try Compule, Test, and Associate Changesets and Work Items> 在Finally条款>Revert Workspace and Copy Files > If DropBuild And DropLocation is Set

  5. 在“然后”框中您将看到Copy Files to Drop Location活动。暂时将其移至“其他”框中。

  6. Add a Sequence活动从工具箱进入(现在是空的)然后框

  7. 移动Copy Files to Drop Location(我们之前将其移回)回到您刚刚添加到“然后”框中的“序列”活动。

  8. Add a InvokeProcess从工具箱运行的活动AFTER“将文件复制到放置位置”活动

  9. 打开特性对于 InvokeProcess 活动。这FileName字段是您需要执行的命令。在本例中,是执行声纳运行程序的命令。最简单的方法可能是编写运行 Sonar 的批处理或 powershell 脚本...然后调用它。

  10. 保存构建过程模板并将其添加到 TFS。那么你可以使用此模板进行构建定义.

这种方法的一个问题是,直到 InvokeProcess 命令返回后,构建才会“完成”。因此,如果您的声纳运行需要很长时间(我知道我见过大型代码库需要超过 24 小时),则构建将永远需要完成。这可以通过让脚本异步生成 Sonar 进程来缓解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 TFS 构建中执行 sonar-runner 的相关文章

  • TFS API - 更新工作项字段

    是否可以使用 TFS API 更新工作项的字段 沿着这条线的东西 WorkItemStore GetWorkItem Convert ToInt32 current WorkItemId State rcbState SelectedVal
  • 自动包含在 Visual Studio 外部创建的新文件

    Problem 如果我将图像保存在项目文件夹结构中的某个位置 则在 Visual Studio 外部创建的图像不会自动包含到我的项目中 问题 有没有办法自动包含添加到项目中任何文件夹中的新文件 我还使用源代码管理 团队基础服务器 如果新文件
  • 在 TFS 下的 CI 队列上构建时包未恢复(VS Online VS2015)

    我问过一个关于构建错误的问题 https stackoverflow com questions 34808954 build errors of missing packages in visual studio online并继续由我绝
  • 从 TFS 下载工作项附件(文件已损坏)

    我正在尝试创建 C 代码 因此我可以自动从 Team Foundation Server 下载 BUGS 预定义查询的所有附件 该代码似乎工作得很好 但所有下载的文件都因意外原因而损坏 我无法查看它们 有人可以看一下代码并分享意见吗 非常感
  • @Nullable 和 SonarQube “有条件执行的块应该可达”警告

    包有以下package info java ParametersAreNonnullByDefault package foo import javax annotation ParametersAreNonnullByDefault 类有
  • 我们是否错误地使用了 TFS 2010? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们的团队是 TFS2010 的新手 从历史上看 我们一直使用我们自己的业务需求矩阵 可追溯性矩阵 Excel 电子表格 它具有典型的列 例如
  • TFS 构建代理无法找到 npm

    在本地托管的 TFS 上 我在构建定义中使用 npm install 构建步骤 在我安装的代理机器上nodejs https nodejs org en 并且可以运行npm从命令行 当我尝试对构建进行排队时 我会弹出一条消息 找不到具有以下
  • PowerShell(2.0,32 位)无法加载 TFS 2010 管理单元...除非可以

    我有一个与 Team Foundation Server 交互的 PowerShell 脚本 当我在 PowerShell 控制台中运行它时 它运行得很好 这对于测试它来说很好 但我想通过双击它或批处理文件或其他东西来运行它 我什至选择右键
  • 分析和衡量 R 代码中的技术质量:有类似于 SonarQube 的工具吗?

    一个简单的问题 有人知道是否存在类似于 sonarqube 的 R 代码工具吗 或者声纳库 我的意思是 一个用于分析代码技术质量的工具 而不仅仅是突出显示或语法格式 提前致谢 您可以使用lintr并将结果上传到声纳Qube 这里有一个例子
  • 声纳发射错误

    当我尝试使用 mysql 启动声纳时 我遇到以下错误 我是否需要修改 sonar properties 文件中有关弹性配置的任何详细信息 以前有人遇到过类似的错误吗 014 12 15 21 38 49 WARN sea o e trans
  • 如何解决声纳中的 dodgy:unchecked/unconfirmedcast 问题?

    我在下面的代码中通过声纳获得异常 我该如何解决这个问题 建议我 Override public boolean validate BaseInfo infoObject boolean isValid true AckTransferPay
  • SonarQube 将所有问题添加为 Code Smell

    升级到 5 5 版本后 现在最新的 5 6 SonarQube 总是将我通过插件创建的问题显示为 Code Smell 我想了解有关分类的更多信息以及如何将它们添加为其他类型 漏洞 和 错误 我创建问题的代码如下 Issuable issu
  • 使用 VSTS 通过 VSTS 包和旧式 csproj 构建解决方案

    我有一个解决方案 具有以下内容 带有旧式 csproj 的多个库 net461 带有新 csproj 的多个项目 net461 Net core 库和我们的应用程序 但目标是 net461 并引用旧样式的 csproj 项目 我使用 VST
  • 如何使用 TFS build 2015 运行自动硒测试?

    我有 NUnit 硒测试 已嵌入到单元测试中 并且我正在尝试使用 TFS Build 2015 运行它 所有测试在本地运行得很好 但不是从 TFS 服务器运行 我启用了代码覆盖率 发现 Module unittests dll 工作正常 大
  • Visual Studio 2015 Enterprise 附带测试自动化工具?

    管理层正在研究自动化测试 我们的 QA 主管想知道 Visual Studio 2015 Enterprise 和 Team Foundation Server 2012 是否附带了任何自动化测试工具 据我所知 微软提供了一套工具作为一个单
  • Sonarqube - 避免捕获通用异常

    声纳在捕获泛型类型时抱怨例外 但有时我们需要对所有 甚至尚未识别 异常类型进行一些常规异常处理 通过这次声纳检查的解决方案是什么 除非你调用一个抛出异常的方法Exception 无需捕获Exception 捕获您知道的异常 编译器会告诉您何
  • Microsoft Azure 工具:端口与现有应用程序冲突?

    我在服务器中使用 TFS 天蓝色应用程序 我发现了此错误 从那时起我无法解决此问题 Microsoft Azure Tools Failed to initialize Microsoft Azure storage emulator Po
  • java 插件 3.8 - S2583 误报

    我认为我们发现了误报 private static void copy File from File to throws FileNotFoundException IOException FileChannel src null File
  • 如何在 Team Foundation Service 中查看早期代码审查的评论?

    我正在将 Microsoft 的在线 Team Foundation Service 与 Visual Studio 2012 Premium 结合使用 几个月前 我为一位同事进行了代码审查 现在同一个项目又进行了一次代码审查 我希望能够查
  • TFS 2010 跨团队项目分支 - 最佳实践

    我在了解如何根据 TFS Ranger 团队提供的最佳实践配置 TFS 时遇到问题 问题是这样的 我的公司有多种产品使用共享的通用代码库 gt Core gt gt Main Source Parent Branch gt gt Produ

随机推荐

  • Servlet:response.setContentLength() 减慢下载速度

    private void downloadAllRelease HttpServletRequest request HttpServletResponse response LoginToken tok getToken request
  • bin2dec 用于 Excel 中长度超过 10 位的数字

    我有一个 28 位二进制数的 Excel 我需要将它们转换为十进制数字 但函数 bin2dec 不适用于长度超过 10 位的数字 谁能帮我这个 使用以下公式来模拟BIN2DEC 函数 https support office com en
  • 将参数传递给 python eval()

    我正在做遗传编程框架 我需要能够执行一些代表完整Python程序的字符串 我正在使用Python 2 7 我有一个配置类 其中定义了原始集 可以说 class Foo def a self x return x def b self y r
  • 无法复制默认 RDS 参数组

    我想要复制默认 RDSPostgres参数组 例如default postgres9 4但复制按钮呈灰色 你如何复制它 创建一个新的参数组并选择postgres 9 4作为参数组系列 您的新组将是默认组的副本 但您可以对其进行修改 另请记住
  • 删除numpy数组中某个值的元素一次

    我想从 numpy 数组中删除具有特定值的元素 但是 如果有多个具有相同值的元素 我只想删除一个出现的位置 无论是哪一个 那是 import numpy as np a np array 1 1 2 6 8 8 8 9 如何删除 8 中的一
  • ruby on Rails - 机架具有不同资源的多个来源

    我正在使用rack cors gem 在我的rails 应用程序中实现CORS 但我不确定如何为不同的来源定义不同的资源 我需要这样的东西 config middleware insert before 0 Rack Cors do all
  • 显示嵌套 div 外部的元素,同时可见性保持隐藏

    I want to achieve this Keep an eye on the top text Happy Fruit I want to be overlayed of the box while it s nested insid
  • Emacs 重复字符串 n 次

    我正在学习 Emacs 中导航 编辑的基础知识 我很好奇如何完成以下任务 在正常文本编辑模式下重复字符串 bla n 次 假设我想重复五次以生成 bla bla bla bla bla 我试过 C u 5 bla 但命令在输入 b 后执行
  • 注册 C# COM 对象,无需 RegAsm 的真实文件

    我有一个奇怪的应用程序加载机制 我有一个 boostrapping exe 文件 其中包含所有其他 DLL 和应用程序本身的资源 这些文件 程序集 是从资源中提取并按需加载的 因为我正在附加到当前 AppDomain 的 Assemblyr
  • Rails:具有 has_and_belongs_to_many 的自连接方案?

    我想创建一个结构Users有很多friends 也属于类User class User lt ActiveRecord Base has and belongs to many friends class name User end 我不需
  • 如何使用kafka-python订阅多个kafka通配符模式的列表?

    我使用带有通配符的模式订阅 Kafka 如下所示 通配符代表动态客户 ID consumer subscribe pattern customer validations 这很有效 因为我可以从主题字符串中提取客户 ID 但现在我需要扩展功
  • 用于搜索多个特定 OU 的 LDAP 根查询语法

    我需要运行一个 LDAP 查询来搜索根查询中的两个特定组织单位 OU 但我遇到了困难 我尝试了下面的以下查询 但都没有成功 OU Staff DC my DC super DC org OU Vendors DC my DC super D
  • 从浏览器检查连接状态的最快方法

    我正在使用网络应用程序 我经常从该应用程序向服务器发送数据 如果应用程序没有互联网连接 则应禁用发送数据的选项 从浏览器检查您是否在线的最快方法是什么 我用过navigator onLine但它不可靠 因为不同的浏览器对它的解释不同 我的另
  • 识别导致内存错误的变量

    所以我现在遇到了几次奇怪的错误 我正在寻找一些好的方向来识别问题 基本上我看到的是一个段错误 症状如下 它仅在程序处于发布模式时发生 而不是在调试模式下发生 它显示为一个段错误 GDB 告诉我它位于 list release free fr
  • java:Map 或 EnumMap 的 PropertyChangeSupport?

    是否有一个版本java beans PropertyChangeSupport http java sun com javase 6 docs api java beans PropertyChangeSupport html or com
  • 使用 Trello API 在卡片上设置自定义字段值

    我正在尝试使用新的自定义字段方法特雷洛 API https developers trello com v1 0 reference custom fields设置卡上自定义字段的值 我创建了一个自定义字段类型number 当我做一个GET
  • 如何从 ABPeoplePicker 获取用户选择的电子邮件地址?

    Stackoverflow 上的其他人发布了一种从联系人列表中获取用户选择的电话号码的方法 可以针对电子邮件地址完成此操作吗 如果可以 我该怎么做 这是代码 BOOL peoplePickerNavigationController ABP
  • 专注于 Excel 中的第一个单元格

    HSSFWorkbook wb new HSSFWorkbook new FileInputStream file HSSFSheet s wb getSheetAt 0 wb setActiveSheet 0 s showInPane 0
  • 加载资源时出现“需要注册工厂”异常

    我得到以下异常 java lang RuntimeException Cannot create a resource for file home my conf xml a registered resource factory is n
  • 在 TFS 构建中执行 sonar-runner

    如何在持续集成中生成 TFS Team Foundation Server 构建结束时运行 sonar runner 的命令 信息 TFS 2013 Windows Server 2008 R2 sonar runner 2 3 在构建过程