JetBrains opens up TeamCity for external authentication, throws in new Python runner

Python logo

The second major 2020 update to JetBrains’ Continuous Integration and Deployment platform TeamCity has been pushed out and offers users more experimental UI features, Python support, and additional options to work with external services.

Amongst other things TeamCity has learned to let customers use GitHub, GitHub Enterprise, Bitbucket Cloud, GitLab and the corresponding self-hosted variant for user authentication. To make that happen a dedicated application on the version control system host’s side and a connection in TeamCity is needed, which admins can activate via the authentication module.

Speaking of working with external services, the TeamCity engineers have added a way to run the last build steps without an agent. This can be useful if deployment is done with third party software, since the agent would usually be blocked in this scenario until the external step has finished, which can get quite wasteful. With the new mode, agents can be detached at some stage and run other builds while the external process does its thing.

Support for Bitbucket Cloud also improved a bit, so that, if a pull request build feature and VCS trigger are configured,TeamCity is able to monitor pull requests from Atlassian’s version control product. 

Meanwhile users who feel more comfortable in the JetBrains universe can take advantage of a new integration with the company’s integrated team environment Space, which is currently in beta. The new addition allows TeamCity to publish the status of a build into Space, therefore giving organisations a centrally available indicator of how things are going.

Since the popularity of the Python language keeps growing, the TeamCity team took some time to come up with a new Python runner. The bundled successor of the Python Runner plugin automatically detects Python on build agents and lets scripts run on supported platforms. It is also meant to provide automatic test reports and inspections, let developers use virtual environments, and launch build steps inside a Docker container. 

You might have to reconfigure some steps since the new runner comes with a few extra settings. However, given the new features, a quick look into the documentation is well worth your time if Python is your language of choice.

TeamCity 2020.2 also saw enhancements to the still experimental Sakura UI, adding for example a Build Queue page with information on triggers and options to remove planned builds from the list or fast-track them. Queued builds can also be found alongside started and finished ones on the Build Dependencies page now, which makes the overview a bit more helpful. 

On top of that the dependencies can be viewed as build chains, so that it is more clear which builds depend on the one currently running. Once that process is finished, teams can use the much requested build log search feature to find specific details in build logs.