PaperCall is shutting down on August 31, 2026. Existing events and submissions will remain available until then. New events can no longer be created.

Do it in code! Kotlin DSL for build engineering

By Anton Arhipov

Elevator Pitch

Learn how to use Kotlin DSL for configuring the builds in TeamCity. What are the best practices, tips & tricks, and pitfalls? In this session, we are going to assemble a build pipeline using Kotlin DSL and learn about some TeamCity features alongside.

Description

Configuration-as-code is a well-established practice for continuous integration. Today, YAML is probably the most widespread format for the configuration-as-code approach. What if I told you that we can do better than that? In TeamCity, we use Kotlin to configure the builds. A dedicated Kotlin DSL was crafted in TeamCity some time ago and has proven to be a pretty viable solution for the job.

In this session you will learn the following:

  • How to get started with Kotlin DSL
  • How to assemble build chains in code
  • How to extend the existing DSL and make your own abstractions

Expect a lot of live coding!