- TeamCity Versioning Changes
- TFS Integration Improvements
- Maven and dotCover Installation on Agents
- Build Failure Conditions
- Improved Restore from Backup
- REST API
- Cloud Agents
- Partial Build Log Display
- Faster Server Startup
- Web UI improvements
- Enforce clean checkout for build chain
- Other Improvements
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.
TFS connections support Personal Access Tokens (on-premises, hosted) for TFS 2017+/VSTS
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.
Improved Restore from Backup
- Previously, when restoring TeamCity from a backup file, you needed to specify the file containing the new database properties, making sure this file was not present in the config directory. Now the maintainDB tool permits a restore in case config/database.properties is present, if the following conditions are satisfied:
- the restore scope includes a database (
restore -D), and
TEAMCITY_DATA_PATH/config/database.properties file exists and is either supplied as the
-T argument, or
-T option is omitted altogether.
If neither of the above conditions is satisfied (i.e.
database.properties is not present on the file system), then the
database.properties file included in the backup (if available) will be used to restore the database.
- When restoring TeamCity from a backup file into the internal HSQL database, it is no longer requires to use
-T(target database) option pointing to the
database.propertiesfile. The new option,
-I(stands for 'internal'), used in combination with
-D('database') option instructs the maintainDB tool to restore TeamCity into a new instance of the embedded HSQL database. (Note that the old
-Tand the new
-Ioptions are mutually exclusive; besides, the
-Ioption does not take any argument).
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
Project level (?)
More terminate instance conditions were added to cloud profile (need review)
Tagging instance-dependent Amazon EC2 resources
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.
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
the create project / build configuration page
Build Chains Page
in this version the Build Chains tab 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”
Additional display options are available for build chains: “Group by projects”, “Hide details”, and “Hide redundant edges”.
When a build is selected in a build chain, all the downstream/upstream builds are highlighted transitively.
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.
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.