TeamCity
Powerful CI/CD for DevOps-centric teams
TeamCity 2021.1 EAP2 is here
The second build of TeamCity 2021.1 Early Access Program is available for download.
TeamCity 2021.1 EAP2 brings more than 40 improvements and fixes. In these release notes, we describe the most exciting updates.
New Kotlin Script build runner
Kotlin by JetBrains is a widely adopted and concise programming language, perfect for scripting your build tasks on Windows, Linux, and macOS. In this EAP, we introduce a new build runner — Kotlin Script.
The runner is easy to configure: you just need to enter a Kotlin script or provide a path to it, and TeamCity will compile and execute it during the build.
Kotlin 1.4.31 is already bundled with TeamCity 2021.1 EAP2, but you can install any other version in Administration | Tools.
Read about additional options of this runner in our EAP documentation.
Switching node from secondary to main in runtime
If you use a multinode TeamCity setup, you can now switch a node’s role from secondary to main in runtime. This is most helpful during maintenance, minor TeamCity upgrades, or in any other case when you need to promptly assign the main node’s responsibilities to another server.
By default, the new “Main TeamCity node” responsibility belongs to the current main server but gets vacant if this server becomes unavailable. You can then assign it to any secondary server in Administration | Nodes Configuration. In future updates, we will implement autoassignment of this responsibility in case the main node goes down.
The assigned server becomes the main node and automatically receives all its other responsibilities (processing builds, managing agents, and so on). The new main node keeps all its running builds, and the agents reconnect to it automatically if a proxy is configured in your setup.
When the previously main server starts again, it becomes a secondary node, as the “Main TeamCity node” responsibility is already occupied by another server. If necessary, you can repeat the procedure above to switch roles between these servers.
Customizable multipart upload of large build artifacts to Amazon S3
If you store build artifacts in Amazon S3, you can now configure parameters of multipart upload of large files right in the TeamCity UI. This helps use the network bandwidth more effectively and improves throughput.
Refer to our EAP documentation for more details.
Simplified setup of post-commit hooks in Perforce
To timely detect changes in your projects’ code, TeamCity regularly polls your VCS repositories. If there are many VCS roots configured in TeamCity, polling can noticeably load both the TeamCity and VCS servers. To prevent this, TeamCity provides the ability to set a post-commit hook on the VCS server. This way, the VCS server itself notifies TeamCity whenever the new changes are available, which reduces the number of polling operations and offloads the servers.
Since this EAP, configuring a post-commit hook for Perforce is easier than ever. Save the script file we provide and follow this instruction in our EAP documentation.
Tip: A generic script for other VCS types is available here.
User Interface improvements
Onboarding assistant
TeamCity has a rich user interface, and some of its numerous handy features might not be obvious to beginners. To help our new users navigate around the interface, we introduce the UI assistant.
To enable it, open the Help menu in the upper right corner of the screen and click Show Hints. You can hide the hints anytime by closing the assistant menu.
To see a hint for a certain area, hover over this area’s name in the assistant menu:
For now, hints are available for Project Home and Build Configuration Home pages, and for some of the Settings pages. In future updates, we will polish this functionality and use it to visually introduce the new features.
Quick access to build status widget
Our build status widget visualizes the status of the last build in a configuration. As the widget doesn’t require authentication, you can feature the build status icon anywhere outside TeamCity: for example, in a source repository Readme file. Since this EAP, you can quickly access this widget from the build overview.
To be able to generate a widget for a build configuration, you need to enable it in Build Configuration Settings | Build Options.
To access the widget menu from Build Configuration Home, open the Actions menu and click Get build status icon:
The Status Image menu shows the icon preview and allows copying its code in one of the supported formats:
You can embed this code into an external page and view the build status without opening TeamCity.
Tip: Learn how to use a custom HTML widget instead of the static icon in our documentation.
Sakura UI: Revamped code coverage preview
Our experimental Sakura UI gets a new code coverage widget in Build Overview.
TeamCity can provide code coverage for multiple build runners. If coverage is provided for a build configuration, you can now quickly preview a visualized statistics of the build’s tests and see how it changed compared to the previous build:
See all resolved issues.
More features are on their way — stay tuned and check our roadmap for details.
Download TeamCity Morena 2021.1 EAP2 or pull the Docker image with the EAP
tag. Remember to install it on a trial server as the new version changes the TeamCity data format and downgrading to the previous production version is not supported.
All our EAP releases come with a 60-day Enterprise evaluation license for an unlimited number of agents and build configurations.
You are welcome to share your feedback in our forum or issue tracker.
Happy building!