This article describes the general principles of Incredibuild licenses. To learn how to assign and manage your licenses, see Managing Licenses.
Licenses are managed using license keys that are loaded when you install the Coordinator. Each license key contains a set of roles that you can assign to your machines.
Your license is validated by communicating with our license server every 8 hours. If your Coordinator machine fails to connect to the license server for 7 days, your license will be locked until the connection is re-established. If your license is locked, you can only perform local builds with limited features.
If you work in an internet restricted environment, contact your Customer Success Manager to learn about offline licenses.
Your license key contains multiple licenses and capabilities that are required for each component of Incredibuild:
Helper Cores: Each helper core license lets you utilize one CPU core on a helper machine to assist an initiator in a workload.
Initiators: Initiators are the machines that initiate a workload or build. Only one license is needed per machine regardless of how many cores it has.
CI Initiator: CI Initiators are specialized Initiator licenses for CI use cases.
Cache Cores: Used for Build Cache, one cache core is consumed whenever using the Build Cache saves you one hour of a helper core's production. Cache Cores are reusable and are refreshed every hour.
If you run out of Cache Cores, data is still written to the cache, but cannot be read until your Cache Cores are refreshed.
If you are using Incredibuild Cloud as well, see Using Build cache with Incredibuild Cloud below.
Packages: Some integrations and technologies require specific packages. These packages are required for each of your Initiators. Once purchased, they are automatically assigned to each Initiator. For more details, see Supported Tools.
Some of these licenses are defined as Fixed or Floating:
Fixed licenses are installed on, and remain associated with one machine until they are removed from that machine. You can reallocate a Fixed Initiator license to a different machine a maximum of once per 24 hours. During the 24 hour cool-down period, the license can be released, but not reallocated.
Floating licenses are automatically allocated across your machines. You assign licenses to all of your machines, and they will be allocated based on the number of licenses and the availability of the machines.
If you are using Build Cache and Incredibuild Cloud together, the license usage depends on your environment:
Cloud Only: This refers to a case in which you are only using Incredibuild Cloud (no local distribution). Every time the Build Cache is accessed and saves one hour of a single core of cloud usage, an hour of your cloud package is consumed.
Hybrid (Cloud plus On-prem): When your license contains Cache Cores as well as Cloud Hours, when the Build Cache is accessed it attempts to consume Cache Cores first because they are refreshed every hour. If demand for the cache exceeds your Cache Cores during one hour, Build Cache will still be used but will consume hours from your cloud package.
Updating your License
To modify your license, speak to your Customer Success Manager. As the license validation is only performed a few times per day, after a change has been made it may take a while until the change is reflected in your Coordinator.
Differences Between 9.x and 10x License Models
Centralized License Management
Before Incredibuild 10.0, licenses were managed by license files. These files were manually provided by your Customer Success Manager, and were manually copied to Incredibuid machines. Any changes to your license required a new license file. Addons were purchases per initiator, and the number of initiators you could install them on was defined by your license package.
Now, licenses are managed using license keys. Your license details are stored on our servers, and your key is verified a few times per day. This allows us to remotely update your license package without any action on your part. When you purchase an Addon, it is automatically available to all of your initiators.
Addons and Features
All of your addons and features are automatically applied to all of your initiators. They do not need to be individually assigned.
Floating helper licenses are automatically reassigned to available Agents to maximize your license and Agent utilization. When upgrading to IB10, fewer helper licenses will be needed as Floating Helpers are more efficient than Fixed Helpers.
Each agent can be set as an initiator, helper or both. The assignment are flexible and can be modified at any time.
Utilize All Agent Cores
The license model no longer includes a limit to how many CPU cores each machine can use. You can now control this limit yourself this in the Settings and change it at any time. This means you can upgrade your hardware without changing your license package, and utilize your existing machines to the fullest.
FAQs about Floating Licenses
What is a floating helper core?
Floating Helper cores are allocated dynamically to whichever Helper Agents are available. This allows you to utilize the full CPU power of your license package.
How does it work?
When assigning a license, you specify the license type as Floating. At this point, it doesn't mean that an actual floating license is allocated, but just that this agent is available in your helper pool. When a workload is initiated, if this helper is needed it will be assigned a floating helper core. The license will be released as soon as the workload is complete.
How do I assign my helpers?
You simply need define the license type as Floatingfor your agents in the Agent list. You can define this for a single Agent, or select multiple agents at once. By default, every new agent will be assigned with an helper license. This behavior can be adjusted by opening a ticket with email@example.com.
How many cores can I label as helpers?
There is no limit to the number of cores you can label as helper cores. However, your license package contains a limit to the number of floating helper cores that can be assigned to agents at any given time.
How can I track the status of my helper cores pool?
In the Coordinator Manager > Agent List, the status bar displays the number of helper cores you purchased, the number of helper cores you labeled and are your current potential to help, and the number of current busy helper cores.