What’s New in TeamCity 2017.2

The latest version of TeamCity brings you full-on Docker support, bundled .NET CLI integration, deployment and composite builds, automatic server upgrade, default and multiple templates, as well as Kotlin DSL improvements.

Oh, and the free Professional edition has been bumped up to 100 build configurations!

TeamCity TestDrive

Want to try out these new features, but don’t have the time and resources to set up a test server? You can always test drive the latest version of TeamCity in the cloud.

100 more reasons to upgrade

In 2017.2, we give you ONE HUNDRED free build configurations in the Professional version!

Essentially, this is making TeamCity free for many more users and even decent-sized teams. Users of the Professional version can now get real benefit from some of TeamCity’s more advanced features – snapshot dependencies, composite builds, and configuration as code (Kotlin DSL), just to name a few.

So if you are a TeamCity Professional user, stop reading this and go upgrade your server to get your limits bumped up to 100 build configurations!

Docker all the way

TeamCity 2017.2 significantly ramps up Docker support.

Docker-specific build runners
  • Docker Build Runner. Build Docker images as a separate build step. If TeamCity detects a Dockerfile in your VCS repository, it will automatically offer you this runner in the list of build steps.
  • Docker Compose Runner. Launches Docker Compose build services as the build begins, and shuts them down when the build is finished.
  • Docker Wrapper. As an extension to other runners (Gradle, Maven, Ant, and Command Line) lets you run a build step within a specified Docker container.
Docker support build feature

See the information about all the Docker-related operations and events in your build on a dedicated Docker tab, by adding the Docker support build feature.

This also lets you:

  • Clean up all the images published by the build.
  • Create a Docker registry connection. When this is done, your build agent will automatically log in to the registry before the build and log out after it’s finished.

.NET CLI support

TeamCity 2017.2 extends its support for the .NET CLI toolchain to building .NET Core projects. The highly popular .NET CLI plugin has been bundled and now provides the simulated behavior of the dotnet command out of the box.

Here is what it brings:

  • Dedicated .NET CLI build runner
  • Automatic discovery of build steps when given the URL of your repository
  • Detection of .NET CLI on the build
  • Hierarchical build log
  • Real-time reporting of tests, compilation errors, and other problems
  • Code coverage powered by JetBrains dotCover

Composite builds

TeamCity adds a new build configuration type called Composite Build. It aggregates results from several other builds connected via snapshot dependencies and presents them in a single build. See the progress of the whole chain in one place, as well as failed tests, build problem notifications, and artifacts.

Deployment builds

Deploying from TeamCity just got easier.

TeamCity 2017.2 allows you to mark build configurations as deployments. The builds they depend on will then get the dedicated Deployments section on the build results page of that build, allowing you to quickly deploy the build.

Automatic upgrade

Upgrading TeamCity is now a piece of cake – TeamCity detects a new version when it comes out and notifies the system administrator. It provides a list of possible options, checks your license compatibility, and lets you download the distribution package and perform the auto-upgrade.

Kotlin DSL improvements: editable UI

Enabling Kotlin DSL for projects doesn’t switch the admin UI to a read-only mode anymore. Project and build configuration settings stay editable and available for changes. Any change in the UI will be synchronized with the Kotlin settings repository, and vice versa.

Default and multiple templates

It is now possible to set up a default build configuration template for a project. Propagate changes to all the build configurations in the project by changing just one template. Attaching a build configuration to multiple templates at a time has also been added.

Improved plugin management

TeamCity 2017.2 provides dedicated options to manage your list of plugins. Disable or delete your plugins in the UI, and upload new ones. When uploading a plugin, TeamCity will offer a server restart from the UI.

Restart from the UI

Restarting the server is now possible right from TeamCity’s administration interface.

TeamCity TestDrive

Want to try out these new features, but don’t have the time and resources to set up a test server? You can always test drive the latest version of TeamCity in the cloud.

Learn about TeamCity 2017.1

Project level cloud profiles

Configuration of agent cloud profiles was moved to the project level. This puts project admins in charge of the cloud settings, letting teams inside organizations try our cloud agents more freely.

Vue.js support

Visual Studio Team Services integration

TeamCity 2017.1 improves its integrations with VCS hosting services and now can be connected to VSTS the same way it is connected to GitHub or BitBucket Cloud. Once the connection is configured, setting up a project becomes a matter of simply picking a repo from the list.

Refreshed UI

Breadcrumbs

The breadcrumb trail is now displayed in a smaller font to provide more focus on the current item. Hovering on the icon opens up a list for quick navigation.

Build chains

The build chains UI has been improved in a variety of ways. Here is what has been added:
Ability to preview build chains settings while reviewing and configuring snapshot dependencies of a build configuration

Build Chains

Detailed view, to dig deeper into a build’s details

Build Chains details

Ability to group builds on build chains page by project, for a more concise overview

Redesigned pages

Along with the elements of the interface, a number of pages have been redesigned and got a refreshed look and feel: the login page, register user, administrator setup, user profile, edit group page, create project and build configuration pages, as well as the build chains tab.

Redesigned pages
Redesigned pages

Disable builds in default branch

When tracking the status of the default branch is not what you need, it is possible to turn off the default branch, so that no builds run in it. You will not see it in the UI, and there will be no notifications from it. This is especially useful if you want to have a separate build configuration for building pull requests.

Disable builds in default branch

UI scalability improvements

The user interface performance in 2017.1 has been optimized for large-scale installations. The improvements will be especially appreciated by users with thousands of branches per build configuration, and with up to tens of thousands of build configurations on the server. No more waiting for the project/branch tree to load!

Secure settings storage

You can now store passwords and other secure parameters separately from the other settings in your VCS. Safely enable the Versioned Settings feature without fearing your passwords be checked into the VCS.

Secure settings storage

External artifacts storage

TeamCity 2017.1 provides a pluggable API to enable external storage for build artifacts. Connect your favorite third-party storages by creating a plugin for TeamCity, according to the external storage implementation guide.

Amazon S3 integration

As an example, we are providing the Amazon S3 plugin which allows uploading to, downloading and removing artifacts from S3. It handles resolution of artifact dependencies as well as clean-up of artifacts.

Amazon S3 Integration
Learn about TeamCity 10.0

Configure builds in DSL

In addition to the regular way of creating projects and build configurations, you can now set up TeamCity programmatically. Create projects and build configurations in code, using TeamCity DSL based on the Kotlin programming language. Keep this code in a VCS, and TeamCity will apply all the changes to your projects and build configurations automatically, without you interacting with the web UI.

Scale big

TeamCity 10 is packed with new features aimed at supporting your growing infrastructure and providing a truly scalable solution.

Cross-server projects popup

The new projects popup allows connecting multiple TeamCity servers and provides search and instant access across all projects and build configurations on the connected servers.

Two-node configuration

TeamCity is now clusterable, which lets you move the handling of real-time data produced by running builds to a separate machine. This reduces the load on the main server, making it more responsive and allowing many more agents to be connected.

Automatic agent-side checkout

TeamCity now checks out sources on build agents by default to take the load off your server. Server-side checkout becomes a fallback option and TeamCity will switch back when needed.

Commit hooks in REST API

Once a commit hook is installed and detected, TeamCity will automatically increase checking for changes interval to avoid excessive polling of your VCS. This significantly reduces the load on your server in case of large installations while increasing the commit reaction speed.

Utilize Docker

Run TeamCity using its official Docker images for server and agents, which are now available on Docker Hub and maintained by JetBrains: https://hub.docker.com/u/jetbrains/


docker run -it --name teamcity-server-instance \
 -v <path to data directory>:/data/teamcity_server/datadir \
 -v <path to logs directory>:/opt/teamcity/logs  \
 -p <port on host>:8111 \
 jetbrains/teamcity-server
                        

Advance your VCS integrations

Improved integrations with popular VCS hosting services

Integration with GitHub and Bitbucket issue trackers, to easily connect TeamCity to your GitHub issues for automatic fetching and display of information about issues.

Bundled Commit status publisher plugin for publishing build status right to GitHub, GitLab, Bitbucket, and Upsource once the build is finished.

Create projects directly from GitHub/Bitbucket repositories, without even providing a URL. TeamCity will connect to your VCS and list all the available repositories – you just need to pick one.

Cross-platform integration with TFS

Cross-platform TFVC

TeamCity now provides cross-platform integration with Team Foundation Server out of the box. Run your TeamCity server and agents on any platform, including Linux and Mac, while connecting it to TFS.

Cross-platform TFS Work Items

TeamCity 10 has a built-in integration with Team Foundation Work Items which supports TFS 2010+ and Visual Studio Team Services.

Versioned settings in TFS

TeamCity 10 also brings Versioned Settings support for TFS users. You can now synchronize TeamCity project settings with TFVC. The full list of supported VCSs for Versioned Settings now includes Git, Mercurial, Perforce, Subversion, and TFVC.

Perforce Streams

You can now enable TeamCity feature branches support for Perforce VCS roots. TeamCity will monitor all streams matched by branch specification.

Detect flaky tests

TeamCity detects tests which behave in an unstable manner with the same code. When such flaky tests are discovered based on a set of differents heuristics, they are displayed to you on a dedicated page, so that you can look into them or assign investigations to have your team members fix them.

Install tools on agents

It is now possible to install tools on agents right from the TeamCity UI. For example, whenever new versions of ReSharper command line tools come out, you can upload and install them right away, without a need to wait for the next TeamCity release. TeamCity lets you use different versions of the tools in different builds, and manually pick the default ones.

Enjoy all of the above in a refreshed UI

TeamCity user interface gets a facelift with updated icons, lightweight controls, and optimized graphics for high-resolution displays. The fresh look brings you all the rich functionality in a more polished way.

Deploy at will

TeamCity now bundles the Deployer plugin, bringing the out-of-the-box ability to upload artifacts to external locations in a number of ways:

  • Upload files to Windows shares via SMB protocol
  • Upload files to an FTP server
  • Upload files via SSH (using SCP or SFTP protocols)
  • Deploy WAR application archives to different containers
  • Execute arbitrary remote commands using SSH Exec

Experience improved performance

TeamCity’s overall performance has improved considerably thanks to a series of technical and architectural optimizations. Experience a faster response rate and shorter page load times.