TeamCity
Powerful CI/CD for DevOps-centric teams
TeamCity Cloud 2023.07: Major Cloud Profile Improvements, Enhanced Space Integration, and More
The new TeamCity Cloud 2023.07 comes with major cloud profile enhancements that include a completely revamped UI for cloud profile configuration, the ability to specify multiple subnets, and support for EC2 Mac instances, among other things.
In addition to the EC2 support improvements, we’re introducing the updated TeamCity and JetBrains Space integration. TeamCity now supports refreshable tokens for Space and brings a new type of connection on the project level with Space.
Let’s take a closer look at each one of these features.
EC2 updates
Specifying multiple subnets and instance types for EC2 cloud images
Previously, when setting up an EC2 cloud image in TeamCity, you could only select a single subnet for your virtual private cloud. However, we realized that in most cases, users didn’t want to be restricted to just that one subnet. Running an instance in a specific region instead of a particular subnet would make more sense, as this way, TeamCity can choose the most appropriate subnet in terms of available resources.
A combination of running instances in the scope of a region as well as using a few instance types, gives you more reliable instance usage. TeamCity can now take the first option from the available combination and run an instance. In case the selected subnet or instance type runs out of capacity, TeamCity will automatically switch to the second available option, and so on.
It also simplifies the setup of cloud profiles: now, you don’t need to set up multiple cloud images just to achieve a regional scale and instance type diversity.
In addition to that, you can also select several instance types and security groups in TeamCity.
Share your feedback on the feature in this YouTrack issue.
Configuring agent image to launch an instance from the last created AMI with a given tag value
In TeamCity Cloud 2023.07, we’re also introducing the ability to configure the build agent to launch an instance from the last created AMI with a given tag value.
Suppose you’re using a custom image for running your build agents. This image can be referenced by a unique AMI ID and reused by multiple build configurations.
Previously, all of these cloud images would have to be updated manually in case this custom image is updated, as the AMI ID will also change. If there were many cloud profiles that used the same image, and you updated it, you’d have to go and manually update the ID in each of those cloud profiles.
You can now reference the latest created AMI with a given tag value or combination. This means that, if you update the image, it will automatically be used by all compatible project/build configurations. This way, you can save a significant amount of time on maintenance.
Got a question or comment? Share your feedback on this feature in this YouTrack issue.
Support for EC2 Mac instances
If you’re using EC2 Mac instances, you have to run builds on a specific bare metal machine. TeamCity now uses tags to find a suitable dedicated Mac host to run instances.
If you have a Mac instance type selected, you can now set tags to indicate the bare metal machines that you’ve reserved in AWS for TeamCity to run your agents. This way, TeamCity will automatically find the most suitable available machine and spin up the agent. If this machine is unavailable, TeamCity will switch to the next available option, and so on.
Thanks to this feature, your builds will run uninterrupted as long as there are available machines within the indicated tags.
Got a question or comment? Feel free to leave your feedback in this YouTrack issue.
Running AWS EC2 spot instance build agents using a spot placement score
TeamCity has long been supporting Amazon EC2 spot instances which allows you to place your bid on unused EC2 capacity and use it as long as your suggested price exceeds the current spot price.
With the 2023.07 release, TeamCity now supports AWS spot placement score. This feature will help users who use AWS EC2 to spin up build agents in a more stable and predictable manner.
Spot placement score comes in handy when you need to:
- Scale and relocate Spot instance compute capacity in a different region.
- Identify the most optimal availability zone.
- Find an optimal combination of instance types to meet your spot instance capacity needs.
New UI for the EC2 plugin
Last but not least, with the 2023.07 release, we’re also rethinking our approach to setting cloud profiles and images. Previously, the cloud profile settings used to be configured in a popup window.
Also, the credentials configuration section was always visible on top of the page but was rarely changed. This obstructed the view and made it cumbersome to make changes.
Given the importance of this feature and how often cloud images are updated, we’ve redesigned the Cloud Profile interface to make it easier to create new profiles and edit the existing ones.
Space integration
JetBrains Space is a complete software development platform that seamlessly integrates with TeamCity. With the 2023.07 release, we’re introducing a few new features that make TeamCity and Space integration even smoother.
Project-level Space connection
We’re introducing the concept of Space organization and project-level connections. By connecting TeamCity to your Space organization, it is possible to allow the creation of subsequent project-level connections with a limited permission scope. The setup process features automation for ease of use.
Thanks to this feature, stored permissions in TeamCity don’t have to be coupled to specific Space user credentials but rather to applications that act as a service account.
Support of refreshable tokens for Space
Previously, when creating a VCS root from Space Connection, TeamCity issued a short-lived token via OAuth 2.0. This token was then used for issuing a permanent personal access token for the user. The latter token was stored in the VCS root settings.
This approach had a number of disadvantages. For instance, the OAuth App would have to have permission to issue permanent tokens, which is a greater permission than necessary to access Space API, repositories, publish statuses, etc.
With the 2023.07 release, we’re moving away from permanent personal access tokens in the TeamCity and Space integration and switching to refreshable tokens instead. These refreshable tokens are OAuth tokens (access token + refresh token) acquired by TeamCity via authorization code flow. The tokens are used for VCS root access and listing projects/repositories.
UI enhancements and improvements
Sakura UI: introducing revamped Agent Parameters tab
Ever since making Sakura the default UI for TeamCity, our goal is to reach the full feature parity between the Classic and Sakura UIs.
In 2023.05, we released the Parameters tab section. With the 2023.07 release, we’re revamping it both for cloud images and agents. Enjoy the new sleek view of the Parameters tab!
Check out our What’s New documentation for the full list of new features.
Got a question or comment? We’d love to hear from you! Feel free to share in the comment section below.
Happy building!