The latest version of TeamCity brings you simplified configuration via Kotlin DSL, streamlined Docker support, out-of-the-box Amazon S3 integration, and the ability to configure a read-only node for a High Availability setup.
Up to 100 build configurations and 3 concurrent builds. No user or time limits. Fully featured.
Welcome new Kotlin DSL
Kotlin DSL has been significantly reworked and improved and now allows simpler usage, portability, and creation of projects from just one file.
The format of the DSL has been simplified. TeamCity no longer requires uuid and project IDs, which makes the code simpler and more readable. As an example, this is all the code you would need for a basic “Hello world!” project in TeamCity:
All in one
One .teamcity/settings.kts file is now all you need to describe the project settings.
Kotlin DSL scripts are now server and project independent, which means you can share the same script between different servers or even projects on the same server. All you need to do is to check it into the repository.
Create from URL
When creating a project in TeamCity, just point it to the repository with your .teamcity/settings.kts file and TeamCity will automatically create the project with all the required settings and build configurations, as described in code.
Spin up a High Availability TeamCity installation with the new read-only server mode. The read-only server has access to the database and the data directory, and in the event of the main server becoming unavailable, will accept all the requests and allow read access to the builds, artifacts, etc. Handy for running seamless server upgrades or during unplanned downtime.
TC Main Server
TC Main Server
TC Read-Only Server
TC Read-Only Server
NAS Data Directory
Main Server is Up
Main Server is Down
Revamped Docker support
Docker support has been significantly improved:
Docker wrapper now supports .NET CLI and PowerShell runners.
build, push, and other Docker commands are now available directly in the new Docker runner, which replaces the old Docker Build Runner.
Bundled Amazon S3 artifact storage
TeamCity 2018.1 comes with built-in Amazon S3 support. Storing, uploading, downloading, and removing artifacts from S3 is now integrated natively and can be done via the TeamCity UI. The integration handles the dependencies and clean-up so that users wouldn’t even need to know that S3 is under the hood.
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
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.
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.
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.
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
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
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.
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
Detailed view, to dig deeper into a build’s details
Ability to group builds on build chains page by project, for a more concise overview
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.
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.
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.
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
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.
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
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.
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.
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
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
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 \
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
Cross-platform integration with TFS
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.
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
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.