TeamCity 2017.2: 100 free build configurations, Docker, .NET CLI, composite builds and improvements in Kotlin DSL
Hi, Habr! Last week we released a new version of our CI and CD server: TeamCity 2017.2 ! As you probably understood from the title, it is not only full of new functionality, but also gives a pleasant surprise to those who use the free (Professional) version. But first things first.
First of all, the list of all the improvements , as always, is very impressive - read it after reading this post, if you want more details. Here we will focus on the most "tasty" features of the last release.
100 build configurations
After upgrading to version 2017.2, all users of TeamCity Professional will be pleasantly surprised - instead of the standard 20 build configurations, TeamCity now provides 100! It is available absolutely free for every user of version 2017.2. No pitfalls. For those not familiar with the terminology, the build configuration in TeamCity is the same as job in Jenkins terms.
Docker
In 2017.2, Docker first-class support officially appeared. ')
Docker build runner
With the addition of the new Docker build runner, you can now build Docker images as a separate build step. As soon as TeamCity finds a dockerfile in your repository, it will automatically prompt you to add a Docker Build step.
Docker compose runner
Starts Docker Compose services at the start of the build and stops them when the build ends.
Docker wrapper
Allows you to run other build runners (for example, Gradle, Maven, Ant or any command line) in a separate Docker container.
Docker Support Build Feature
For every build that performs any Docker-related actions, you can enable the Docker Support build feature. This will add an additional “Docker” tab to the build page, and also allow:
clean up the Docker images published by the build in the Docker registry, if the build that published them is deleted;
Enable automatic authentication in the Docker registry before the start of the build.
Short video demo of new Docker features (in English):
.NET CLI support
In 2017.2, the .NET CLI toolchain is implemented to collect .NET Core projects right out of the box. In fact, we have greatly reworked and included the popular .NET CLI plugin in the distribution, and now there is no need to install it separately.
What is included in it:
Separate .NET CLI build runner
Automatic recognition of build steps at the provided URL
Detecting .NET CLI on build agents
Hierarchical build-log view
Reporting tests, compilation errors and other build problems in real time
Code Coverage Analysis with JetBrains dotCover
Video review (also in English):
Composite builds
There is a new type of build configurations - composite build. Composite builds aggregate the results of several builds connected to each other through snapshot dependencies and display them as a single build. They give a unified view of the whole build chain, showing general progress, alerts about dropped tests, problems with builds, and also display all artifacts.
The composite build does not occupy the agent and is shown as executing as soon as one of its dependencies starts. In particular, this allows you to significantly reduce the number of configurations on the dashboard, removing the dependencies and leaving only the composite configurations there.
Deployment builds
Now you can mark build configurations that perform deployment tasks as deployment. As a result, the builds on which such configurations depend will receive a Deployments section, where you can easily load the current build into the selected environment.
Automatic upgrade
Updating the server has become much easier. TeamCity independently checks for a new version and reports its appearance to the system administrator. A license check is automatically performed, and one-click opportunity is given to start the upgrade procedure.
Default and Multiple Patterns
Now you can set default templates for all build configurations in a project. This allows you to easily implement changes at once to all build configurations of the project, changing only one template. Also added is the ability to attach build configurations to multiple templates at the same time.
Kotlin DSL: Editable UI
If earlier when turning on the storage of project settings in the Kotlin DSL format, the admin UI switched to read-only mode, but now this restriction has been removed. Settings for projects and build configurations remain available for editing at the same time as DSL is enabled (the ability to define them in code). At the same time, changes made via the web interface are converted to patches on Kotlin, which are added to a specific place under the project in the VCS repository.
Improved plugin management
Managing plugins has also become more convenient - a list of installed plugins has appeared in the admin panel, with which you can turn off or delete existing plugins and add new ones. When adding a plug-in, TeamCity will suggest restarting the server from the UI.
Download the latest version of TeamCity 2017.2 from our website . Leave comments and suggestions for the new version in our bug tracker .
You can also try all the new features without downloading and installing the server, using TeamCity TestDrive - a free test drive TeamCity in the cloud.
We remind you that you can use TeamCity without time and functionality limitations, for free. If you suddenly stop missing three agents and 100 build configurations, or you want to communicate with our mail support service, you can always purchase an Enterprise license, after receiving a trial version for 60 days.