Project Configuration Export
It is now possible to export configuration files for a project with its children as a zip archive to move it to a different TeamCity server. The Project Settings | Settings Export page allows exporting the config files for a project and its subprojects, as well as external dependencies, i.e. build configurations used in snapshot dependencies, templates used as well as vcs roots and all main settings (ssh keys, issue trackers, oauth connections etc...) defined in the parent project.
The settings archive also contains a
report.log file detailing the reasons for exporting external entities.
Smart checking for changes interval
Traditionally TeamCity uses polling for detecting changes in VCS repositories. Polling is highly reliable approach. It works in the majority of cases. Even if TeamCity server was stopped for a while, with polling it can easily pickup all the changes made in repositories on the next startup.
But polling also has one downside which becomes more and more important, once TeamCity installation grows. If there are many different VCS repositories configured in TeamCity, polling can impose significant load on both TeamCity server and VCS repository servers.
Alternative approach is to use push model: various post commit hooks and web hooks. This approach is more scalable, but it cannot be used alone. Because if TeamCity server is stopped, obviously all push notifications will be lost.
This is why we decided to implement combined approach. Starting with this EAP if commit hook initiates process of checking for changes for some VCS root in TeamCity, TeamCity will automatically increase checking for changes interval for this VCS root, assuming that this commit hook will now come to TeamCity on a regular basis. But, if so happens that TeamCity detects a change in this VCS root during regular polling, then checking for changes interval will be reset to initial value specified by user when VCS root was created. This is done for the case when commit hook stopped working for some reason. If TeamCity server was restarted, it will switch to polling for all of the VCS roots, till commit hooks start informing it about new commits.
Please refer to our documentation on commit hooks configuration in various VCS repositories: <link>
GitLab support in Commit Status Publisher
Support for Perforce Jobs
If you use Perforce jobs to label your commits, the changes associated with jobs are now marked with a "wrench" icon in the TeamCity UI. Navigating to the icon opens a pop-up with the job information:
Refreshed web UI
In this EAP projects and build configurations as well as collapse/expand actions received new icons. Overall, the UI boasts of a refreshed look and feel.
- It is now possible to run a custom script on the launch of an Amazon EC2 instance (applicable to instances cloned from AMI's only). The Amazon website details the script format for Linux and Windows.
- Unique hostnames for Windows vSphere cloud agents on can be specified now: when adding an image, choose a customization spec in the corresponding field. The option is available for Linux VMs as well.
Bitbucket Cloud Issue Tracker
TeamCity comes with built-in support for many of issue trackers, which now include Bitbucket cloud. The integration with Bitbucket cloud issue tracker can be set up separately, or as a part of TeamCity integration with Bitbucket source code hosting service making it easy to connect TeamCity to Bitbucket issues.
Flaky Test Detector
REST API enhancements
Bundled Tools updates
- the bundled Ant is updated to 1.9.7
- the bundled dotCover is updated to 2016.1
Git LFS support
TeamCity now has support for Git LFS if checkout on agent is used.
performance of the project and build configuration settings editing has been greatly improved
you can now redefine inherited artifact dependencies in build configurations, the same as agent requirements and other settings
- a new option of the Free Disk Space build feature allows you to fail a build if sufficient disk space cannot be freed for the build
- fixed issues