TeamCity 2021.2: Two-factor Authentication; Improved Integrations with Perforce Products, JetBrains Space, and Azure DevOps; a New Cross-Platform C# Script Runner; and Updates to the Sakura UI
Read this post in other languages:
TeamCity 2021.2 introduces two-factor authentication, brings a variety of updates to the integration with Perforce Helix Core and Perforce Helix Swarm, and further integrates with JetBrains Space. Users of Azure DevOps can now log in to TeamCity using their Azure AD accounts, and C# developers will love the ability to set up build steps using the new C# script build runner. There are also a number of improvements to the Kotlin DSL syntax and multiple updates to the Sakura UI.
More ways to be more secure
CI/CD is a core element of every modern development process, and keeping it well secured is critical. To further strengthen the security of their CI/CD servers, TeamCity administrators can now enable two-factor authentication and require users to enter an additional authentication code to log in.
Perforce integration, taken further
Of all the different version control systems, Perforce Helix has a special place in our hearts, as the TeamCity+Perforce combo is the de facto CI/CD standard in many industries. TeamCity 2021.2 reinforces the integration with a range of great new features.
Running builds on shelved changelists
The Run custom build feature now allows you to run personal builds with changes from a shelved changelist in Perforce. You can trigger a whole build chain on such a changelist and see the list of shelved files inside the TeamCity UI.
Perforce Shelve Trigger
We have added the new Perforce Shelve Trigger, which detects new and modified shelved changelists whose descriptions contain a given keyword and triggers personal builds on them.
Perforce Helix Swarm reporting
We have extended the Commit Status Publisher build feature by adding the new Perforce Swarm publisher. When the publisher is configured, TeamCity will send the information about builds to the Perforce Helix Swarm server, and the respective comments will be added to Swarm reviews on shelved changelists.
The VCS labeling build feature now creates automatic labels in the Helix server. These labels work as aliases for changelist numbers. Compared to the static labels that were used in previous versions of TeamCity, these give you a significant boost in performance.
Parameterized connection variables
Perforce connection parameters are now passed to TeamCity as build parameters, allowing you to distinguish between different Perforce VCS roots when a project uses multiple Perforce connections.
A few steps closer to Space
If your team uses JetBrains Space – a new collaboration solution that was recently released by our company – then you will surely enjoy the new integrations that we’ve added in this version of TeamCity.
Version 2021.2 adds the new JetBrains Space authentication module, which allows you to log in using your Space account, just like you can log in with GitHub or GitLab.
VCS roots, projects, and build configurations
Previously, a configured connection with Space only allowed you to access its repositories and publish the status of your builds. The new version of TeamCity also allows you to add VCS roots, create projects, and create build configurations – all you need to do is add the necessary access rights on the Space side.
Authenticating via Azure DevOps
We have received a lot of requests from users who use TeamCity and Azure DevOps at the same time to build their software. To make their experience smoother, TeamCity 2021.2 adds the new Azure DevOps OAuth 2.0 authentication module, which allows you to log in to TeamCity with an Azure DevOps account.
Simplifying CI/CD for C# developers
If you are like most C# developers, then you probably find it really annoying to use PowerShell every time you need to set up a build environment, manage Windows processes, or simply move some files. We feel your pain! That’s why we’ve created the new C# Script build runner, which gives you an easy way to write build steps in a real programming language. You no longer have to spend time googling how to write things in PowerShell – you can just use simple C# scripts.
The new build runner is cross-platform, works on any system with Docker, and comes with built-in support for NuGet.
More ways to set up continuous integration with the Kotlin DSL
We are continuing to improve the Kotlin DSL, making it even easier to manage CI/CD configurations as code. Starting with TeamCity 2021.2, you can configure elements of your pipelines that were previously not covered by the Kotlin DSL, such as issue trackers, custom charts, or shared resources. For a full list of the Kotlin DSL changes, please refer to this request in YouTrack.
With the Sakura UI, our goal is to make sure that every developer can quickly find what they need, regardless of the size or complexity of their projects. Version 2021.2 adds two views from the classic UI that were absent in the Sakura UI: Pending Changes and Change Details.
Additionally, usernames now display avatars next to them, so you can identify the authors of commits more easily. This was added to both the Sakura UI and the classic UI.
For the full list of changes in version 2021.2, please take a look at the TeamCity documentation.
Also, sign up for the “TeamCity – 15 years of CI” online event if you’d like to hear a talk about all the new features released in 2021, as well as some other sessions on the best CI/CD practices with TeamCity.