Mit TeamCity können Sie Ihre CI/CD-Pipeline für Projekte jeder Größe und Komplexität automatisieren und dabei für jeden Schritt Docker verwenden.
Mussten Sie schon einmal frustriert feststellen, dass der Code, der auf Ihrem lokalen System fehlerfrei lief, in anderen Umgebungen nicht funktioniert? Mit TeamCity können Sie Builds und Tests in Docker ausführen und so sicherstellen, dass Ihre Anwendung nicht an Ihr spezifisches System gebunden ist und auch anderswo korrekt funktioniert – von Ihren QA-Systemen bis hin zu Produktionsinstanzen in der Cloud.
Sie wollen eine skalierbare und wartungsfreundliche CI/CD-Infrastruktur aufbauen? Mit TeamCity können Sie Docker-Befehle um buildspezifische Parameter ergänzen, zentralisierte Pipelines mithilfe von Vorlagen einrichten und die Bereinigung von veralteten Docker-Images auf Build-Agents und in Docker-Registries automatisieren.
Sie müssen die Zusammenarbeit unterschiedlicher App-Komponenten testen oder Ihre App in einer bestimmten Testumgebung ausführen? TeamCity kann Docker-Container starten, Integrationstests durchführen und die Container nach Abschluss zuverlässig und reproduzierbar herunterfahren.
TeamCity unterstützt und beschleunigt alle Workflows in der Softwareentwicklung, bei denen Docker zum Einsatz kommt. Während andere CI/CD-Tools nur binäre Build-Ergebnisse bereitstellen (d. h. OK/Fehler), ist TeamCity tief in Docker integriert und bietet Ihnen umfassende Informationen über Ihre Pipelines:
So können Sie mühelos Probleme in Ihren Builds finden, den Korrekturbedarf erkennen und neue Funktionen schneller und in höherer Qualität bereitstellen.
Wählen Sie zwischen der On-Premises- und der Cloud-Version von TeamCity:
Von JetBrains gehostet
Sie sind auf der Suche nach einer CI/CD-Lösung mit Docker-Unterstützung, die Sie nicht lokal betreiben müssen? Testen Sie unseren Managed Service: TeamCity Cloud.
Von Ihnen gehostet
Sie haben lokale Builds, die Sie von Ihrem System entkoppeln und in einen Docker-Container verschieben möchten? Starten Sie mit TeamCity Professional. Für kleine Projekte ist die Nutzung kostenlos!
Mit dem Docker-Build-Runner können Sie Build-Schritte hinzufügen, die Docker-Befehle ausführen. Dies ist besonders nützlich, wenn Sie dynamisch angepasste Docker-Argumente benötigen. So könnten Sie etwa vorgeben, dass Builds auf einer bestimmten Betriebssystem-Version ausgeführt werden sollen, die an einem früheren Punkt der Pipeline definiert wurde. Außerdem kann TeamCity den lokalen Docker-Image-Cache auf Build-Agents automatisch bereinigen und auf diese Weise sicherstellen, dass die Agents für nachfolgende Builds bereit sind.
Weitere Details finden Sie im Abschnitt Docker Runner der Dokumentation.
Mit dem Docker-Wrapper können Sie einen TeamCity-Buildschritt in einem Docker-Container isoliert vom Host-Betriebssystem ausführen und dadurch konsistente und reproduzierbare Ergebnisse erzielen. TeamCity verfolgt alle Ereignisse während des Buildvorgangs und stellt Ihnen Echtzeitberichte, Testanalysen und weitere intelligente Funktionen wie Stack-Traces aus dem Docker-Container bereit.
Weitere Details finden Sie im Abschnitt Docker Wrapper der Dokumentation.
Der Build-Runner für Docker Compose wird verwendet, um Docker-Container zu Beginn eines Buildvorgangs zu starten und sicherzustellen, dass TeamCity diese nach Abschluss oder Anhalten des Builds herunterfährt. Er wird hauptsächlich bei Integrationstests eingesetzt, bei denen die Komponenten containerisiert sind und die Durchführung durch Docker-Compose-Dateien definiert werden kann. TeamCity selbst wird zum Beispiel mit mehreren Versionen unterschiedlicher Backend-Datenbanken getestet, und die entsprechenden Integrationstests werden mit dem Build-Runner für Docker Compose durchgeführt.
Weitere Details finden Sie im Abschnitt Docker Compose Runner der Dokumentation.
Das Build-Feature „Docker-Unterstützung“ ermöglicht die Zugriffsverwaltung für Docker-Registries. Die Konfiguration erfolgt auf der Projektebene, und es werden alle gängigen Dienste unterstützt, einschließlich Docker Hub, Amazon ECR, JFrog Container Registry und andere, sodass die verschiedenen TeamCity-Funktionen diese nutzen können. Die Serverbereinigung, bei der Daten eines veralteten Builds gelöscht werden, kann zum Beispiel so konfiguriert werden, dass sie Docker-Images entfernt, die als Teil dieses Builds veröffentlicht wurden.
Weitere Details finden Sie im Abschnitt Docker Support der Dokumentation.
Nehmen wir an, Sie haben einen Backend-Service implementiert, der auf Ihrem eigenen System kompiliert und ausgeführt wird. Auch wenn ein Einsatz außerhalb Ihrer lokalen Umgebung nicht geplant ist, gibt es dennoch viele Dinge, die sich mit der Zeit ändern können: das Betriebssystem, Build-Tools, Fremdbibliotheken und mehr. Eine vollständig statische Umgebung ist auf einem lokalen System in der Praxis nicht aufrechtzuerhalten – früher oder später wird ein Problem auftreten.
Mit Docker und TeamCity können Sie Ihre Builds vollständig reproduzierbar gestalten und sich dadurch die umständliche Verwaltung von Abhängigkeiten und die Behebung von Kompatibilitätsfehlern ersparen. Eine CI/CD-Pipeline für ein Java-Projekt mit Maven könnte zum Beispiel so aussehen:
TeamCity bietet Ihnen Echtzeitberichte zu Ihren Builds und Tests vom Moment des VCS-Commits an bis zum Vorliegen der Ergebnisse und gewährleistet dadurch eine schnellstmögliche Feedback-Schleife. Es unterstützt Projekte jeder Komplexität und Größe und hilft Ihrem Team, die Bug-Häufigkeit zu minimieren, Features schneller auszuliefern und den Entwicklungsprozess transparenter zu gestalten.
Mithilfe einer unkomplizierten Weboberfläche können Sie CI/CD-Pipelines einrichten, ohne auch nur eine Zeile Code zu schreiben. Sie können die Konfiguration jedoch auch als Kotlin-Code definieren und so ein wartbares, reproduzierbares CI-System einrichten, das mehrere Programmiersprachen, Betriebssysteme und Cloudplattformen umfassen kann.
TeamCity kann Docker auf jeder Plattform verwenden, die eine Docker-Laufzeitumgebung unterstützt, einschließlich Linux, Windows und macOS.
Ja, TeamCity kann nicht nur Builds in Docker-Containern ausführen, sondern auch Docker-Images erstellen, sie an Docker-Registries übertragen und anhand verschiedener Kriterien löschen.
Ja, TeamCity On-Premises ist für kleine Projekte kostenlos und hat keine Einschränkungen hinsichtlich der Benutzeranzahl oder der Buildzeiten. TeamCity Cloud bietet eine kostenlose 14-tägige Testphase. Beide Versionen bieten eine vollständige Docker-Unterstützung.
Mit TeamCity haben Sie die Wahl, ob Sie Builds direkt auf Ihrem System oder in Docker-Containern ausführen möchten.