TeamCity 2020.2 introduces privacy-friendly login using external services, features the all-new Python build runner, and integrates with Bitbucket Cloud and JetBrains Space. It allows you to execute builds in external services without occupying build agents, and unlocks project editing on secondary servers in multi-node setups. Administrators can now customize the server clean-up schedule and view disk space usage in external storage locations. And you’re going to love the updates to the new Sakura UI.
Say hello with your GitHub, GitLab, or Bitbucket account
We want continuous integration to be a regular part of every developer’s life. To support more workflows and make the experience with TeamCity smoother, we now support authentication using external services: GitHub, GitLab, and Bitbucket.
TeamCity 2020.2 will instantly match external OAuth accounts with existing TeamCity users, and let them work with their projects without having to enter a password. It integrates with user directory features of the supported services, such as GitHub organizations and GitLab groups, and can automatically create new profiles when new members join your team.
In addition to cloud services, TeamCity 2020.2 supports on-premise installations of GitHub (GitHub Enterprise) and GitLab (GitLab self-hosted).
Bitbucket Cloud: now with pull requests
Version 2020.2 extends the integration with Bitbucket Cloud by adding support for pull requests. Now you can set up TeamCity to automatically pick up pull requests made in your Bitbucket Cloud repository and run the respective builds. Together with the Commit Status Publisher and the Automatic Merge features, this creates an amazing combination, making it possible to work with your favorite tools most efficiently.
Speak Python? Build Python!
As Python becomes the second most popular programming language in the world, you want your continuous integration system to support all of its modern features and development practices. This is why we created the all-new Python build runner, which enables you to use the power and intelligence of TeamCity in your Python projects. The new build runner works with all operating systems, supports virtual environments, and integrates with all common testing frameworks and code inspection tools for Python.
The results of your Python builds and tests are reported in the TeamCity UI, in the same way as with all other TeamCity build runners. You can track changes, analyze failures, assign investigations, and use all the other TeamCity features that you know and love.
A message to Space…
JetBrains Space has been added to the list of services supported by the Commit Status Publisher feature. Until now, to check that your changes didn’t break anything, you had to open up TeamCity and search for your build results there. With the new integration, Commit Status Publisher will automatically send the status of your builds to Space, letting you see it on the Commits page of your project.
Get more out of your agents with agentless build steps
Do your CI/CD pipelines rely on external services, tying up your build agents as they wait for external jobs to finish? Or even worse, do they run in AWS or another cloud, and not only waste your time but also burn your money? Then you’re going to love agentless build steps in TeamCity 2020.2. Your builds can now execute their final steps in agentless mode, releasing the build agents and allowing them to run other queued tasks. TeamCity displays agentless build steps as standard builds and will enable you to track their status, browse their logs, and view their history.
Many servers. One experience.
Our large customers are building more than ever with TeamCity, so we continue to push our multi-server capabilities forward. In version 2020.2, secondary servers make a big step towards primary servers, allowing you to edit project-level settings. This enables your team to set up new builds while the primary server is under maintenance.
Pro features for pro administrators
External storage in Disk Usage monitor
An increasing number of our users prefer storing artifacts in the cloud – for example, in Amazon S3. Starting with 2020.2, TeamCity will show you the disk space occupied by builds not only on your local drives but also in remote locations.
Customizable clean-up schedule
The clean-up feature just got more powerful. Now you can customize its schedule with the use of cron-like expressions to have the server cleanup start at regular intervals – for example, on weekends, or twice a day.
Sakura UI: the perfect combination of features and design
Our incredible UI team has been working hard to bring more features and support more use cases in the experimental “Sakura” UI. TeamCity 2020.2 comes with many great things designed not only for end-users but also for plugin developers.
Build Dependencies
One of the essential parts of working with CI/CD is the ability to understand the big picture of how everything is built, and TeamCity 2020.2 brings two significant improvements in this area to the Build Dependencies page:
- The Timeline view now shows not only started and finished builds but also queued builds.
- The Build Chain view now shows the “right” part of the chain: all builds that depend on the current one.
Test history page
TeamCity 2020.2 adds one more missing piece to the Sakura UI: the new Test History page. The new page gives you detailed information on your tests and allows you to analyze trends, see investigation history, and more.
Build log search
We have implemented one of the most popular requests from our users: the build log search. It is now much easier to browse the build log, debug your setup, and understand what happens during your builds.
Sakura UI plugin development framework
TeamCity has always provided extension points and allowed developers to build on its functionality. Starting with version 2020.2, we offer a new way to write and integrate plugins for the user interface. To learn more, check out this talk from TeamCity Technology Day:
Build Queue
The new Build Queue page is stylish, works very fast, and makes it easy to find everything you need. It lets you quickly see the changes for every queued build, understand what triggered the build and where it will run, get the estimated time when it will start, and view all the other build information in a neat and convenient UI. You can select any builds that you don’t need and remove them from the queue, or alternatively, if there are builds that need to complete sooner, you can move them to the top of the list.
These are just some of the ways we’re strengthening TeamCity. For the full list of changes in version 2020.2, please see the TeamCity documentation.