TeamCity On-Premises 2024.12 Help

Manage TeamCity Licenses

Users with System Administrator role can manage TeamCity server and agent licenses on the Administration | Licenses page. We recommend activating your server license, even for the free Professional version, to ensure system administrators receive timely email notifications about critical TeamCity server security updates.

For users with paid licenses, activating a license grants the "set it and forget it" experience: once your instance is linked with the JetBrains Account (JBA), you no longer need to manually enter license keys for every additional agents batch you purchase or every server license update. TeamCity will automatically retrieve information about all currently active licenses, and apply them on-the-fly.

Activate a License

If you can access the JetBrains Account and your TeamCity server's machine is connected to the internet and can regularly communicate with account.jetbrains.com via HTTPS, do the following to activate a license:

  1. Navigate to Administration | Licenses page.

  2. Click Get License Key and log into your JetBrains Account. Note that TeamCity does not display this button if the server already has an active license. If your server uses a trial license, deactivate it before you can switch to a paid version.

  3. Choose a server license you want to activate. This page shows licenses owned by all organizations and teams for which you have administrator permissions. See this page for information on permissions required to activate a license: Required permissions to activate your on-premises team tool license.

    Choose a license
  4. Click Get license key to confirm. The activation key will be transferred to your TeamCity server automatically. You can also manually copy a key and paste it to the I already have a key field on the TeamCity Licenses page.

Case 1: You are not a JetBrains Account administrator

Solution: Request permissions required to activate TeamCity licenses. Alternatively, follow the same procedure as above and ask your JetBrains Account administrator to perform actions you have no permissions to do.

  1. On the Administration | Licenses page, right-click the Get License Key button and copy the link.

  2. Send this link to your JBA administrator. This link contains your unique TeamCity instance key and looks like the following: https://account.jetbrains.com/license/activate?product=TCS&instPubKey=<your_public_key>.

Once the administrator follows this link and activates a license, your TeamCity server will automatically apply it. All future license updates (including build agent license assignments and expirations) will be automatically communicated to your server; you will not require further administrator assistance after the activation is complete.

Case 2: Your TeamCity server machine is not connected to the internet

Solution: Similarly to the previous case, you can utilize the activation link generated in TeamCity.

  1. On the Administration | Licenses page, right-click the Get License Key button and copy the link.

  2. Open this link on a trusted device that has access to the JetBrains Account. This link contains your unique TeamCity instance key and looks like the following: https://account.jetbrains.com/license/activate?product=TCS&instPubKey=<your_public_key>.

  3. After you activate a license in your JetBrains Account, copy or save the activation key.

    Successful activation
  4. On the TeamCity Licenses page, click I already have a key and paste the activation key.

Note that since an offline TeamCity server is unable to receive automatic updates from JBA, you will need to copy and paste server license keys whenever the server license is renewed or additional agents are purchased.

See also: Configuring Proxy Server, Offline Mode.

Activate Existing Legacy Licenses

Existing customers who purchased TeamCity licenses previously can still employ the legacy workflow by clicking the Enter new license key button and inserting the license key. However, we recommend switching to the JetBrains Account-based workflow to benefit from crucial security email notifications and automatic license updates.

To activate your currently active legacy server license, click the Get License Key in TeamCity UI to get into the JetBrains Account. Your legacy license should be recognized and pre-selected in the list of all available licenses. Ensure this is the correct license and follow instructions on your screen to proceed.

If the JetBrains Account is unable to recognize your legacy license, use an alternative approach as shown below:

  1. Go to the Administration | Licenses page in TeamCity.

  2. Click Download hashed offline keys under the "Active license keys" table.

  3. Click Get License Key and log into your JetBrains Account.

  4. You should be able to see the "Already have license keys on your server?" tile that suggests you to convert your existing keys. Click Upload license keys and upload the "teamcity-offline-keys.txt" file generated in step 2.

  5. Review the information about your license and click Get license key to generate an updated key.

  6. Paste the generated key on the Administration | Licenses page.

Deactivate a License

You may want to deactivate a server license to switch to another server license you have or transfer it to another team that has a separate TeamCity instance.

Deactivating a license is the opposite of the activation process: you need to remove a license from TeamCity and (optionally) deactivate it in the JetBrains account.

  1. To remove a license from TeamCity, click Deactivate on the Administration | Licenses page. In case you had a paid license, your server will revert back to the free Professional tier.

  2. After you click Deactivate in TeamCity, you can navigate to your JetBrains Account to complete the deactivation process.

    If you do not complete this step, the server license (although inactive in TeamCity) will remain linked to this specific server instance. This means you cannot activate it on another server.

Case 1: You are not a JetBrains Account administrator or TeamCity server is offline

Solution: Similarly to the activation process, copy the Deactivate button link and send it to your JetBrains Account administrator.

Case 2: You forgot to deactivate a server license and uninstalled the TeamCity server instance. The license is now linked to a non-existent server and cannot be transfered to another instance/team

Solution: Navigate to the JetBrains account and find this active license, then click the Deactivate link.

Deactivate from JBA

This is an emergency workaround that should only be used when the TeamCity instance is not accessible. In any other case, initiate the deactivation process from the TeamCity UI.

Manage Build Agent Licenses

Unlike individual accounts, organization JetBrains accounts can create teams to distribute different licenses to organization members depending on their tasks.

For TeamCity, additional agent licenses should belong to the same team that owns a server license. Otherwise, your paid agents will not be available after activating a server license. Moreover, any action that affects a team (for example, adding new agent licenses) also alters the corresponding server key. This is especially important to remember when working in offline mode.

If you need to transfer an agent license to another team, you do not need to deactivate any server licenses in TeamCity. Given that the server licenses of both teams are activated, both TeamCity servers will automatically update their agent numbers.

See also: Managing TeamCity build agents.

Offline Mode

The nature of the JetBrains Account-based license activation mechanism implies that TeamCity periodically connects to account.jetbrains.com to refresh the information about owned server and agent licenses. This allows your build server to automatically retrieve the current license information, including both server and agent licenses assigned to your team.

Although you will not be able to benefit from these automatic updates if TeamCity cannot access account.jetbrains.com, activating a TeamCity license is still preferable since it allows your system administrator to get timely email notifications about available server security updates. See the Activate a License section for the instructions.

All license-related changes made in a team affect the server key (even if the change does not relate to the server directly, for example adding or removing additional agents). Since TeamCity cannot automatically fetch these updates when in offline mode, you need to refresh your server key manually. To do so, copy a server license key from the JetBrains Account page...

Get license key from JBA

...and paste it to the Enter your license key field on the TeamCity Licenses page.

Enter activation key in offline mode

The same page allows you to acquire legacy license keys (the Legacy license key link). If you are an individual (non-organization) customer, refer to this knowledge base article for more information: Downloading TeamCity legacy license keys.

Limitations and Requirements

A single license can only be used on a single running TeamCity server at any given time. Running secondary TeamCity nodes in addition to the main node does not require a separate license at this time.

If you create a copy of the server and run two servers at the same time, you should ensure each license key is used on a single server only. You can use the Trial (limited time) license to run a server for testing/non-production purposes. The licenses are not bound to a specific server instance, machine, and so on. The only limitation is that a license cannot be used on several servers at the same time.

When you already own license(s) and buy more licenses, you can request JetBrains sales to make the new licenses co\-termed with those already purchased, so that all the licenses have equal maintenance expiration date. The cost of the licenses is then lowered proportionally.
When buying many licenses, you are welcome to contact our sales for available volume discounts.

Last modified: 18 September 2024