The Early Access Program for TeamCity 2021.2 is open!
TeamCity 2021.2 EAP1 brings over 30 improvements and fixes. In these release notes, we describe its most prominent new features.
C# Script Runner
The new C# Script runner offers a handy way to automate your service tasks in C#: prepare a build environment, create user profiles, report to messengers, and so on. This runner is a good alternative to PowerShell for users who feel more confident with C#.
C# Script can run on any machine with Docker, across all supported platforms.
Another exciting feature is that it can automatically restore NuGet packages referenced in your script. By default, TeamCity searches for packages on NuGet.org, but you can specify other target feeds, including private ones.
To configure this build step, enter a C# script (or a path to it) and specify its arguments, if necessary. Read about other settings in our EAP documentation.
Note that to be able to use this runner, you need to download and install our custom tool based on C# Interactive. This tool can even be used outside of TeamCity, from the command line or terminal. See the details in its README.
Authenticate with JetBrains Space
JetBrains Space is our fresh collaboration solution for software teams. If your company is already on board with it, you can allow its users to sign in to TeamCity with their Space profiles.
To establish this integration:
- Create a “TeamCity” application in JetBrains Space. It will grant you a client secret and ID for connection.
- Configure a connection to Space in the Root project’s settings in TeamCity, using the app’s secret and ID received in step 1.
- Enable the “JetBrains Space” authentication module in the TeamCity Administration panel.
All the configuration details are described in the EAP documentation.
As a result, users will see the Space icon in the login form and can click it to authenticate with their Space profile.
If you want to associate an existing TeamCity user with a Space user, you can do this in the authentication settings of their TeamCity profile.
Perforce integration improvements
This EAP brings two notable changes in our Perforce integration.
Automatic labels
The VCS labeling build feature now creates automatic Perforce labels instead of static ones, as it was in the previous versions. Automatic labels work as aliases for changelists and are significantly better in terms of performance.
In a label’s Revision
field, TeamCity displays the revision checked out in the current build. For the View
field, it uses the mapping associated with all paths of the current VCS root.
If you prefer using static labels, you can revert to the previous behavior by adding the teamcity.perforce.useStaticLabels=true
internal property.
Parameterized connection variables
If, during a build, an agent checks out sources from multiple Perforce VCS roots, it can now get connection variables of each of these roots.
Previously, if you wanted to use P4PORT, P4USER, or P4CLIENT in your scripts, you could only refer to variables of a single root. Now, TeamCity stores these variables as parameters, so you can reference them in scripts separately for each Perforce root:
%vcsRoot.extId.port%
%vcsRoot.extId.user%
%vcsRoot.extId.p4client%
where extId
is the VCS root’s external ID, specified in its settings.
Experimental UI: Pending Changes tab
Now, the experimental Pending Changes tab looks similar to the main Changes tab and gives a better preview of the build’s pending commits.
See all resolved issues.
More features are on their way – stay tuned and check our roadmap for details.
Download TeamCity Morena 2021.2 EAP1 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!