TeamCity Versioning Changes
Since 2017, TeamCity adopts the common JetBrains versioning scheme that identifies versions by year, following the pattern: “<year>.<number of the feature release within the year>.<bugfix update number>”. Hence, we’ll be releasing TeamCity 2017.1, formerly known as TeamCity 10.1.
TFS Integration Improvements
TeamCity improves its integrations with VCS hosting services and now TeamCity can be connected to TFS/VSTS the same way it is connected to GitHub, GitHub Enterprise or BitBucket Cloud. Once a connection is configured, it is really simple to setup projects which use TFS/VSTS repositories.
VSTS 2017 connections support Personal Access Tokens.
Maven and dotCover Installation on Agents
Now, in addition to the previously available ability to install Sysinternals handle.exe, Sysinternals psexec.exe, NuGet.exe and JetBrains ReSharper Command Line Tools, you can easily distribute to/ remove from all agents different versions of the JetBrains dotCover Command Line Tools and Maven centrally using the Administration | Tools page.
Build Failure Conditions
You can now stop a build on exceeding a certain build log size specified using the Fail build on metric change condition.
On encountering a specified text in the build log, you can opt to stop the build immediately.
Retrieving all artifact dependencies for a build and a build configuration is now supported via the “artifactDependency” locator dimension
The Swagger definition for the REST API is available under the .../app/rest/swagger.json URL
Now several instance termination conditions can be specified. If any of the conditions is applied, the instance will be stopped. The new conditions specify:
the working time for the agent after which the instance will be terminated
how many minutes before the full hour an instance should be stopped: this allows avoiding charges for partial hours in case if you use Amazon EC2 spot instances, as they are billed in whole hours.
- When launching Amazon EC2 instances, TeamCity now tags all the resources (e.g. volumes and network adapters) associated with the created instances, which is important when evaluating the overall cost of an instance (taking into account the storage drive type and size, I/O operations (for standard drives), network (transfers out). etc.
- Agent Could profile configuration has been moved from the server level to the Root project level. In the future, we intend to supply each project with its own cloud agents profile.
Partial Build Log Display
When opening large build logs, TeamCity now displays a part of it to avoid browser hanging. The configurable display threshold is set to 20M characters by default. You can view the full build log on clicking the corresponding link.
Faster Server Startup
During the server startup, several time consuming actions are now performed in parallel; in addition to that, the server warms up pages for faster display.
Web UI improvements
In this EAP, the following pages of the TeamCity Web UI were redesigned:
the login page, register user, administrator setup, and startup pages have been revised
the Create Project / Build Configuration pages were renewed
The Build Chains tab now:
provides a more compact representation of chains. Previously, if several top builds triggered the same chain of dependent builds, TeamCity displayed several build chains. Now only one build chain is displayed with several “top builds”.
has additional display options: “Group by projects”, “Hide details”, and “Hide redundant edges”.
transitively highlights all the downstream/upstream builds when a build is selected in a build chain.
Enforce clean checkout for build chain
A new option in the schedule trigger and the custom run dialogue allowing you to clean all files in the checkout directory before a build. If applied to snapshot dependencies, all the builds of the build chain will be forced to use clean checkout.
The option also enables rebuilding all dependencies (unless custom dependencies are provided via the custom build dialog or the schedule trigger promotes a build).
Modifiable Build Queue Optimization: Prior to this version, TeamCity optimized the build queue by automatically replacing queued builds with an earlier started build or a more recent queued build if the builds used the same change set and with the same custom properties. This default behavior can now be manually disabled via the corresponding option in the VCS Build Trigger and Schedule Build Trigger.
TeamCity plugin for IntelliJ-based products supports remote run from TFS now.
- The maintainDB tool now has a new option,
-I( which stands for 'internal'). It is to be used in combination with
-D('database') option to to restore TeamCity into a new instance of the embedded HSQL database.
It is now possible to override build triggers defined in a template.
TeamCity now detects problems with agents upgrade and shows health report.
You can test the connection to your VCS when configuring Commit Status Publisher.
TeamCity users can now retrieve forgotten passwords.
There is a handy way to quickly copy a failed test exception stacktrace to the clipboard.
The test name character limit has been increased to 1024.
CSRF protection has been implemented.
TeamCity-JIRA issue tracker integration now supports automatic project ids synchronization: when configuring the connection, all project ids can be loaded from a JIRA server automatically. If a new project is added to this JIRA server, TeamCity will detect it and automatically synchronize the list of projects.
IntelliJ IDEA Project runner supports 'Build Artifacts' tasks specified in the 'Before launch' list of IDEA run configurations.
The Maven build runner now has a version selector.
When the "Show changes from snapshot dependencies" option is used, TeamCity shows which dependent build the changes come from. On hovering over the icon (in the Changes pop-up on the Build configuration overview page and on the Changes tab for a build) the number of the dependent build is displayed; clicking the link opens the changes tab of the dependent build.