TeamCity-Konfiguration als Code

Bringen Sie Ihre automatisierte CI/CD-Pipeline auf ein neues Niveau, indem Sie Ihre Konfiguration als Code definieren. Speichern und verwalten Sie Ihre TeamCity-Build-Konfigurationen in Ihrer Versionsverwaltung, um die Wiederverwendbarkeit, Portabilität, Wartbarkeit und Einheitlichkeit zu verbessern.

TeamCity Configuration as Code.

Nutzen Sie alle Vorteile der Versionskontrolle, indem Sie Ihre Pipelines als Code speichern

Replizieren Sie Ihre Build-Logik effizient über Projekte hinweg, wenden Sie Updates einheitlich auf mehrere Konfigurationen an und gehen Sie bei der Verwaltung Ihrer Pipelines systematisch vor.

Kehren Sie problemlos zu früheren Versionen Ihrer Build-Konfigurationen zurück.

Verwenden Sie ein Peer-Review-Verfahren für jede Änderung.

Kontrollieren Sie den Zugang zu Ihrer Pipeline-Logik.

Überprüfen Sie jede Änderung im Audit-Protokoll.

Eine „Single Source of Truth“ für Ihre CI/CD-Pipelines

Nutzen Sie Ihre Versionsverwaltung als Single Source of Truth für Build-Konfigurationen und Anwendungscode und profitieren Sie von allen Vorteilen der Versionskontrolle. Mit TeamCity können Sie wählen, ob Änderungen, die über die Weboberfläche vorgenommen werden, automatisch mit Ihrem Versionsverwaltungssystem synchronisiert werden sollen oder ob Sie die Bearbeitung der Build-Konfiguration über die Weboberfläche deaktivieren und alle Änderungen im Code vornehmen möchten.

  • Unterstützung für Git, Mercurial, Perforce, Subversion und Azure DevOps (vormals TFS).
  • Definieren Sie Ihre Build-Konfigurationseinstellungen mithilfe der Kotlin-DSL oder als XML-Dateien und überprüfen Sie die Ergebnisse in TeamCity.
  • Verwenden Sie Branches, Pull-Requests, Diffs und Tags, um Änderungen an Ihren Pipelines zu verwalten.
  • Stellen Sie frühere Iterationen Ihrer Build- und Test-Pipeline unkompliziert wieder her.
  • Behalten Sie den Überblick über jedes Update dank eines vollständigen Audit-Protokolls der Änderungen.

Die Leistung einer vollwertigen Programmiersprache

Die Kotlin-DSL verbindet die Vorteile einer vollständigen Programmiersprache mit den Stärken einer DSL, die speziell für die Erstellung von Pipelines als Code konzipiert ist.

Verwenden Sie alle Build-Features von TeamCity über eine intuitive, statisch typisierte Sprache.

Definieren Sie Ihre eigenen Klassen, Funktionen und Bibliotheken, um Ihre Pipeline-Logik effizient und klar zu strukturieren. Importieren Sie Funktionen aus externen Bibliotheken.

Schreiben Sie Ihre Build-Konfigurationen in IntelliJ IDEA und profitieren Sie von Codenavigation, Auto-Completion, Syntaxhervorhebung und Refactoring.

Konfigurieren Sie sequenzielle und parallele Build-Chains mit einfach zu verstehendem Code. Überprüfen Sie die Einstellungen einer bestimmten Konfiguration als Vorschau in der TeamCity-Bedienoberfläche.

Klingt toll! Aber ich habe keine Ahnung von Kotlin …

Die Verwendung von Kotlin bietet zahlreiche Vorteile und ist einfacher als die Konfiguration Ihrer Pipelines mittels YAML. Der Anfang mag ein bisschen abschreckend wirken, zumal wenn Sie noch nie mit Kotlin gearbeitet haben, aber Sie werden sich sehr schnell zurechtfinden. Um Sie beim Schreiben von Konfigurationen in Kotlin zu unterstützen, generiert TeamCity automatisch DSL-Code für alle Ihre Einstellungen. Den generierten Code können Sie in der Admin-Oberfläche einsehen.

Sounds Great! But I Don’t Speak Kotlin...

CI/CD in großem Maßstab

Wenn Sie Ihre Änderungen auf unterschiedlichen Plattformen und mit mehreren Framework- oder SDK-Versionen kompilieren und testen, steigt die Anzahl der Build-Konfigurationen schnell an. Indem Sie diese Konfigurationen als Code verwalten, können Sie Skripte wiederverwenden und Einstellungen in wenigen Codezeilen kapseln.

Operate CI/CD at Scale.

Mit der Kotlin-DSL von TeamCity können Sie Ihre Pipeline-Konfiguration in wiederverwendbaren und leicht zu wartenden Code umwandeln. So können Sie die Einstellungen für jeden Build-Job in Sekundenschnelle aktualisieren.

So erhöht Picnic das Build-Tempo mit TeamCity Cloud und Kotlin-DSL

„Wir deaktivieren grundsätzlich die Bearbeitung in der TeamCity-Bedienoberfläche. Eines unserer Ziele ist es, Pipelines zu standardisieren. Das erreichen wir, indem wir Konfigurationen als Code definieren. Alle Build-Konfigurationen werden in ihren jeweiligen Repositories als Kotlin-Code gespeichert. Wir haben auf der Basis der Kotlin-DSL in TeamCity unsere eigene DSL entwickelt, mit der wir Pipelines in maximal 20 Zeilen Code definieren können.“

– Ivan Babiankou, Staff Software Engineer, Picnic

Klare und prägnante Dokumentation

Die Kotlin-DSL von TeamCity verfügt über eine übersichtliche, umfangreiche Dokumentation, die Sie bei der Einrichtung Ihrer Projekte unterstützt. Kopieren Sie einfach die Beispiele in der Dokumentation und fügen Sie sie direkt in Ihren Code ein, um stets den Überblick darüber zu behalten, welche Funktion Sie als Nächstes verwenden müssen.

Take Advantage of Clear and Concise Documentation

Ihr Weg zu einem kontinuierlichen Workflow

Mit der Konfiguration Ihrer CI/CD-Pipelines als Code bringt TeamCity Sie dem DevOps-Ziel einer kontinuierlichen Feedback- und Verbesserungsschleife einen weiteren Schritt näher. Ganz gleich, ob Sie Ihre Einstellungen auch in der TeamCity-Oberfläche bearbeiten oder Änderungen nur über den Code vornehmen – jedes Update Ihrer Pipeline kann vor dem Einsatz einer Reihe von manuellen Prüfungen und automatisierten Tests unterzogen werden.

  • Reduzieren Sie Fehler und verbessern Sie die Qualität, indem Sie Code-Reviews und automatisierte Tests vorschreiben, bevor Änderungen an der Pipeline vorgenommen werden können.
  • Übernehmen Sie neue Konfigurationen automatisch in Ihre Live-Pipelines, sobald alle Prüfungen bestanden sind.
  • Überprüfen Sie die Auswirkungen Ihrer neuesten Konfigurationsänderungen in der TeamCity-Oberfläche.
  • Reproduzieren und beheben Sie Probleme, indem Sie ältere Builds mit den zum jeweiligen Zeitpunkt geltenden Build-Konfigurationseinstellungen ausführen.
  • Identifizieren Sie die Person hinter jeder Änderung, unabhängig davon, ob die Änderung über die Bedienoberfläche oder im Code vorgenommen wurde.

Häufig gestellte Fragen

Was ist Konfiguration als Code?

Konfiguration als Code ist eine etablierte Praxis bei CI-Servern. Zu den Vorteilen dieses Ansatzes zählt die Versionierungsunterstützung über ein VCS-Repository, die vereinfachte Überprüfung von Konfigurationsänderungen und eine verbesserte Portabilität der Konfigurationen. Manche Benutzer*innen ziehen außerdem die Programmierung der mausgestützten Konfiguration über die Bedienoberfläche vor.

Welche Vorteile bietet die Konfiguration von CI/CD-Projekteinstellungen als Code?

Grundsätzlich kann es vorteilhaft sein, Build-Konfigurationen per Code zu definieren statt über die Bedienoberfläche einzustellen. Sie können den Code in einem Repository speichern, haben mehr Kontrolle über Änderungen, können zu früheren Versionen zurückkehren und können jederzeit die Änderungshistorie einsehen. Es ist auch einfacher, Einstellungen als Code zu speichern und bei Bedarf auf ein anderes System zu übertragen, als alles in der Bedienoberfläche neu zu konfigurieren.

Wie unterstützt TeamCity die Konfiguration als Code?

Es gibt mehrere Ansätze für das Speichern von Konfigurationen als Code. TeamCity unterstützt zwei Methoden: XML und Kotlin-DSL.

Welche Vorteile bietet die Kotlin-DSL bei der Verwendung von Konfiguration als Code?

Bei der Konfiguration Ihrer Projekteinstellungen mittels Code bietet die Kotlin-DSL mehrere Vorteile gegenüber XML:

  • Mehr Kontrolle über Ihren Code.
  • Bessere Unterstützung großer Projekte.
  • Mehr Flexibilität bei der Konfiguration.
  • Zeitersparnis durch Wiederverwendung von Code.

Erste Schritte mit TeamCity

Leistungsstarkes CI/CD für Teams, die ihre Projektkonfigurationen als Code speichern möchten