TeamCity is a free easier to configure feature-filled building management and powerful continuous integration (CI) server from JetBrains.
Remote run and pre-tested commit - Build, check and run automated tests on the server even before committing your changes – keeping your code base clean at all times.
On-the-fly build progress reporting - Don’t wait for a build to finish to discover that something is wrong.
Project hierarchy - Form your project tree to inherit parent settings and permissions.
Templates - Create templates with common settings and inherit any number of build configurations from them.
Build chains and dependencies - Break down a single build procedure into parts that can be run in sequence or in parallel.
Configuration as code:
Set up your CI and CD pipeline in code using configuration scripts based on the TeamCity Kotlin DSL.
Create from URL - When creating a project in TeamCity, just point it to the repository with your .teamcity/settings.kts file. TeamCity will automatically create the project with all the required settings and build configurations, as described in code.
Portable - Kotlin DSL scripts are server- and project-independent, which means you can share the same script between different servers or even projects within the same server. All you need to do is to check it into the repository.
Real programming language - Since the DSL is based on Kotlin, you can reuse code, create configurations dynamically, and take advantage of auto-completion and code navigation in your IDE.
Easy to pick up - Not sure how to start with the DSL? Use the `View DSL` option in the UI to see how settings are described in the DSL.
Comprehensive VCS integration:
Feature Branches - Using feature branches for development? TeamCity will detect and build changes in your branch, as well as merge it to the master.
Versioned Settings - Synchronize your project settings with VCS, and never lose track of them again.