许可证概述

这篇文章描述了 Incredibuild 许可的一般原则。如需了解如何分配和管理您的许可证,请参阅 Managing Licenses

许可证是使用许可证密钥管理的,这些密钥在安装 Coordinator 时被加载。每个许可证密钥都包含一组功能,可以将其分配给您的机器。

许可证验证

您的许可证是通过每 8 小时一次的与我方许可证服务器进行通信来验证的。如果您的 Coordinator 机器在 7 天内未能连接到许可证服务器,许可证将被锁定,直到重新建立连接。如果许可证被锁定,只能执行功能有限的本地构建。

如果您的网络受限,请联系客户经理,了解离线许可证的情况。

许可证类型

许可证密钥包含 Incredibuild 的每个组件所需的多个许可证和容量。

  • Helper Cores: 每个 helper 核心许可证支持利用 helper 机器上的一个 CPU 核心来协助 Initiator 进行构建。

  • Initiators: Initiator (启动器)是启动构建的机器。每台机器只需要一个许可证,无论它有多少个核心。

  • CI Initiator: CI Initiator 是 CI 用例的专用 Initiator 许可证。

  • Cache Cores:用于 Build Cache,每当使用 Build Cache为您节省一个小时的 Helper 内核生产时间时,就会消耗一个缓存内核。Cache Cores 可重复使用,每小时刷新一次。
    如果 Cache Cores 耗尽,数据仍会写入缓存,但在刷新 Cache Cores 之前无法读取。

    如果您也在使用 Incredibuild Cloud,请参阅下述 Using Build cache with Incredibuild Cloud

  • Packages:某些集成和技术需要特定的许可证包。每个 Initiator 都需要这些 Packages。一旦购买,就会自动分配给每个 Initiator。有关更多详情,请参阅 Supported Tools

其中一些许可证被定义为 Fixed 或 Floating 许可证。

  • Fixed 许可证安装在一个机器上,并一直与该机器相关联,直到它们从该机器上被移除。您可以将一个固定启动器许可证重新分配到不同的机器上,每 24 小时最多分配一次。在 24 小时的冷却期,许可证可以被释放,但不能重新分配。

  • Floating 许可证会在您的机器之间自动分配。您可以将许可证分配给所有机器,其将根据许可证数量和机器可用性进行分配。

与 Incredibuild Cloud 一起使用 Build Cache

如果您同时使用 Build Cache 和 Incredibuild Cloud,则许可证的使用情况取决于您的环境:

  • Cloud Only:这是指您使用 Incredibuild Cloud(无本地分布)的情况。每次访问 Build Cache 并节省一个小时的 Cloud 单核使用时间,就会消耗一个小时的 Cloud Package。

  • Hybrid (Cloud plus On-prem):当您的许可证包含 Build Cache 和 Cloud Hours 时,当访问 Build Cache 时,其会尝试先消耗 Cache Cores,因为它们每小时刷新一次。如果在一个小时内对缓存的需求超过了您的 Cache Cores,则仍将使用 Build Cache,但会消耗您的 Cloud Package 小时数。

升级您的许可证

如需更新您的许可证,请联系您的客户经理。由于许可证验证每天只进行几次,因此,在进行更改后,可能需要一段时间才能将更改反映在您的 Coordinator 中。

9.x 和 10x 许可模式之间的差异

  • 集中的许可证管理
    在 Incredibuild 10.0 之前,许可证是由许可证文件管理的。这些文件是由您的客户经理手动提供的,并被手动复制到 Incredibuid 机器上。对许可证的任何改变都需要一个新的许可证文件。附加组件是按启动器购买的,可以安装的启动器的数量由您的许可包定义。
    现在,许可证通过许可证密钥进行管理使用。您的许可证详细信息存储在我方服务器上,密钥每天均会被验证数次。这使我们能够远程更新您的许可包,而无需您采取任何行动。当您购买一个附加组件时,它将自动提供给您的所有启动器。

  • 附加组件和功能
    所有的附加组件和功能都会自动应用到所有的启动器上。它们不需要被单独分配。

  • Floating Helpers
    Floating helper 许可证会自动重新分配给可用的 Agent,以最大限度地提高许可证和代理的利用率。当升级到 IB10 时,由于 Floating Helpers 比 Fixed Helpers 更有效,所以需要更少的 helper 许可证。

  • 灵活的任务分配
    每个 agent 可以被设置为发起者、 helper 或两者都是。任务是灵活的,可以在任何时候修改。

  • 利用所有 Agent 核心

    许可证模式不再包括对每台机器可以使用多少个 CPU 核心的限制。现在您可以在设置中自己控制这个限制,并随时改变它。这意味着您可以在不改变许可包的情况下升级硬件,并最大限度地利用现有的机器。

关于 Floating 许可证的常见问题

什么是 floating helper 核心?

Floating helper 核心被动态地分配给任何可用的 Helper Agent。这使您能够利用许可包的全部 CPU 能力。

Spot 实例是如何运行的?

在分配许可证时,您指定许可证类型为 Floating。在这一点上,它并不意味着分配了一个实际的 floating 许可证,而只是意味着这个 agent 在您的 helper 池中是可用的。当一个构建被启动时,如果需要这个 helper,它将被分配到一个 floating helper 核心。构建完成后,许可证将立即发放。

我应如何分配 helper?

您只需在Agent 列表中将许可证类型定义为Floating。您可以为单个 Agent 定义,或一次选择多个 Agent。默认情况下,每个新的 Agent 将被分配一个 helper 许可证。这种操作可以通过提交服务单实现,地址为 support@incredibuild.com

我可以将多少个核心标记为 helper?

您可以标记为 helper 核心的数量没有限制。然而,许可证包包含了在任何特定时间可以分配给 agent 的 floating helper 核的数量限制。

我怎样才能跟踪我的 helper 核心池的状态?

在 Coordinator Manager > Agent List 里,状态栏显示您购买的 helper 核心的数量,标记的 helper 核心的数量,您当前潜在的帮助,以及当前繁忙的 helper 核心的数量。