TeamCity
Powerful CI/CD for DevOps-centric teams
TeamCity 2021.2 EAP2 is here
The second build of TeamCity 2021.2 Early Access Program is available for download!
TeamCity 2021.2 EAP2 brings over 60 improvements and fixes. In these release notes, we describe its most prominent new features.
OAuth 2.0 authentication in Azure DevOps Services
Since this EAP, TeamCity supports OAuth 2.0 for Azure DevOps Services. You can use it to sign in with an Azure AD account in TeamCity or create projects from Azure DevOps Services Git repositories.
To configure an OAuth 2.0 connection for the whole server, go to the Root project’s Settings | Connections and add a connection of the Azure DevOps OAuth 2.0 type:
- The connection form displays the parameters for configuring an OAuth 2.0 application in Azure DevOps Services. Go to the Azure admin panel and create a new app with the provided authorization callback URL and scopes. When created, copy the app’s ID and client secret.
- Go back to the connection form in TeamCity and enter your Azure DevOps Services URL, the new application ID, and client secret.
3. Save the connection.
To allow authentication with an Azure profile in TeamCity, you will also need to enable the respective module in Administration | Authentication. To further secure this access, you can restrict the scope of Azure organizations whose members can sign in to TeamCity.
Now, users will be able to sign in to TeamCity by clicking the Azure icon on the login form and confirming this connection.
In addition to that, whenever you create a project, TeamCity will display the From Azure DevOps OAuth button. Click it to show all Git repositories on your Azure server. Select the required one to quickly create a TeamCity project from it. The scope of available Git repositories depends on your access level on the Azure server.
Note that the new type of connection does not support TFVC repositories. To connect to them, configure the Azure DevOps PAT type which uses personal access tokens.
Perforce integration: trigger builds on changes in shelved files
Now, TeamCity can trigger builds based on changes in Perforce shelved files.
To configure this behavior for a build configuration, you need to add a new Perforce Shelve Trigger.
You can filter what changelists to monitor by specifying a required keyword. The trigger will monitor all changelists whose description contains this keyword in all Perforce roots of the current build configuration.
When detecting a change in shelved files of any matching changelist, TeamCity will run a new personal build with the contents of these files.
To trigger such builds via REST API, use the following method:
POST /app/perforce/runBuildForShelve?buildTypeId=<BuildConfigurationID>&vcsRootId=<VCSRootID>&shelvedChangelist=<ChangelistID>
Pause and resume builds on secondary nodes
In a multinode setup, one server acts as the main node and the others act as secondary ones. A secondary node has limited functionality compared to the main one, but we strive to eventually make it equally functional. Since this EAP, it is possible to pause and resume builds on a secondary node.
See the full list of actions currently supported on secondary nodes.
Canceled bidirectional agent-server communication
The support for the bidirectional agent-server communication protocol has been canceled in favor of the unidirectional protocol. On the release of TeamCity 2021.2, this change will affect only users who upgrade from TeamCity versions earlier than 9.1. Read upgrade notes for more details.
See all resolved issues.
More features are on their way – stay tuned and check our roadmap for details.
Download TeamCity Morena 2021.2 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!