TeamCity-Integrationen für Versionsverwaltungen

Die Versionsverwaltung steht im Mittelpunkt jeder CI/CD-Pipeline. TeamCity bietet daher eine standardmäßige Integration mit allen führenden (und einigen anderen) VCS-Systemen. Ganz gleich, ob Ihr Code in Git, Mercurial, Perforce, Subversion, Team Foundation (TFVC) oder gar in einer Kombination mehrerer VCS-Systeme gespeichert ist – mit TeamCity können Sie flexible, leistungsstarke Workflows zum automatisierten Kompilieren, Testen und Bereitstellen Ihrer Software erstellen.

Ein CI für alle Workflows

Verwenden Sie ein Monorepo oder ist Ihr Code auf mehrere unterschiedliche Versionsverwaltungen verteilt? Werden Ihre Repositories in der Cloud gehostet oder hosten Sie alles intern? Ganz gleich, welche lokalen oder gehosteten Versionsverwaltungssysteme Sie verwenden – mit TeamCity können Sie Ihre Anwendungen effizient bereitstellen.

Höhere Produktivität

TeamCity unterstützt jeden erdenklichen Entwicklungsworkflow und ermöglicht es Ihnen, genau die Builds zu erstellen, die Sie benötigen, wann immer Sie sie benötigen. Sie können einen Build für jeden Pull-Request erstellen, die Pipeline bei einem Commit in einem bestimmten Branch automatisch starten, einen Build auslösen, wenn eine bestimmte Person Dateien in einem bestimmten Verzeichnis ändert, und vieles mehr.

Erfinden Sie das Rad nicht neu

Wollten Sie schon immer neuen Code ohne Commit in einem CI-System testen, „grüne“ Pull-Requests automatisch mergen oder Git-Commits für die Release-Versionen Ihrer Anwendung mit einem Tag kennzeichnen? Sie benötigen keine selbst geschriebenen Skripte mehr, um Routineaufgaben in der Versionsverwaltung zu automatisieren – TeamCity unterstützt alle genannten Szenarien standardmäßig!

Unterstützung für Industriestandards

TeamCity ermöglicht die Integration aller wichtigen VCS-Systeme und Hosting-Services, die in der modernen Softwareentwicklung eingesetzt werden.

VCS-Typen

  • Azure DevOps (TFVC)
  • Subversion
  • CVS und andere

TeamCity ermöglicht einen gemeinsamen Ansatz für die Arbeit mit allen Arten von Repositories und Codespeicherdiensten, sodass Sie sich auf die Entwicklung großartiger Anwendungen konzentrieren können, statt sich mit den Besonderheiten jedes einzelnen Dienstes auseinanderzusetzen.

TeamCity-Grundfunktionen für die VCS-Integration

Multi-VCS-Unterstützung

Es ist keine Seltenheit, dass Code aus mehreren Versionsverwaltungssystemen kombiniert wird. Vielleicht arbeiten Sie mit einem Legacy-Codebestand, benötigen unterschiedliche VCS-Funktionen für die unterschiedlichen Teile Ihres Systems oder sind gerade dabei, von einer Versionsverwaltung zu einer anderen zu migrieren. Was auch immer der Grund ist – TeamCity kann Quellcode aus einer beliebigen Anzahl von Repositories in mehreren Versionsverwaltungssystemen zu einem einzigen Build zusammenführen.

Anpassbare Build-Trigger

Die meisten CI/CD-Pipelines umfassen mehrere Stufen, von den Erstprüfungen im persönlichen Branch der Entwickler*innen bis hin zur vollständigen Regressionstest-Suite beim Mergen in den Hauptbranch, bevor ein Release-Kandidat getaggt werden kann.

Mit TeamCity können Sie innerhalb eines Projekts mehrere Build-Ketten mit unterschiedlichen Triggern konfigurieren. Behalten Sie die Kontrolle über die Verwendung von Build-Ressourcen, indem Sie Trigger auf der Grundlage von Commit-Autorenschaft, Branch-Name, Pull-Request, geänderten Dateien usw. definieren. Sie können auch Commit-Hooks verwenden, um Repos auf Änderungen zu überwachen.

Statusberichte für Commits und Pull-Requests

Für eine optimale Entwicklungserfahrung können Sie TeamCity so konfigurieren, dass es problemlos im Hintergrund läuft, Ihre Repos auf Änderungen überwacht, Builds auslöst und die Ergebnisse im Kontext Ihres VCS-Hostingsystems meldet. Der Commitstatus-Publisher meldet den Build-Fortschritt in Echtzeit und überträgt Build- und Testergebnisse direkt an GitHub, GitLab, Bitbucket oder Azure DevOps.

Automatisiertes Merging von Änderungen

Das automatische Merging bietet mehrfache Vorteile, wenn Sie für Ihre Entwicklung Feature-Branches in Git oder Mercurial verwenden. Halten Sie Feature-Branches auf dem aktuellen Stand und minimieren Sie Konflikte, indem Sie regelmäßig Änderungen aus dem Hauptbranch mergen. Sobald ein Feature fertig ist, werden die Änderungen aus dem Feature-Branch automatisch per Merge in den Hauptbranch übernommen, sofern bestimmte Bedingungen (z. B. erfolgreiche Builds) erfüllt sind.

Integration von Issue-Trackern

Ganz gleich, ob Sie fehlgeschlagene Tests debuggen oder Versionshinweise schreiben – der Zugriff auf die Details der in den Commit-Nachrichten erwähnten Tickets ist enorm wertvoll. TeamCity bietet eine Integration mit den Issue-Trackern der VCS-Plattformen sowie mit eigenständigen Ticketverwaltungstools, um kontextbasierte Ticketinformationen in der TeamCity-Bedienoberfläche bereitzustellen und Ticketverweise als direkte Links darzustellen.

Benutzerauthentifizierung mit SSO

Die Verwendung der richtigen Tools für die jeweilige Aufgabe sollte keinen zusätzlichen Verwaltungsaufwand verursachen. TeamCity unterstützt das Single-Sign-on über Ihren VCS-Hosting-Service und bietet Ihren Benutzer*innen damit eine nahtlose Benutzererfahrung, während gleichzeitig der IT-Aufwand für Admins reduziert wird.

Die Workflows in der Softwareentwicklung sind so unterschiedlich wie die Menschen, die mit ihnen arbeiten. Monorepo oder Polyrepo; Feature-Branches, Release-Branches oder Pull-Requests; Cloud-Hosting oder On-Premises-Server in unterschiedlichen geografischen und regulatorischen Regionen; serielle oder parallele Ausführung von Testsuiten; Polling-Limits für Cloud-gehostete Plattformen; Zugriffsbeschränkungen – die Liste lässt sich beliebig fortsetzen. Ganz gleich, welchen Prozess und welche Plattformen Sie verwenden – mit der intuitiven Bedienoberfläche von TeamCity bauen Sie eine CI/CD-Pipeline ganz nach Ihren Anforderungen auf. Ihre Konfiguration können Sie dabei als Code speichern.

FAQ: CI/CD-Integration von TeamCity mit Versionsverwaltungen

Kann TeamCity Builds aus Code erstellen, der auf mehrere Versionsverwaltungen verteilt ist?

TeamCity kann Builds von Projekten erstellen, deren Quellcode in Git, Perforce, Mercurial, SVN oder anderen Repositories – einschließlich Cloud-Hosting-Lösungen – gespeichert ist.

Unterstützt TeamCity Pull- und Merge-Requests?

TeamCity unterstützt Pull- und Merge-Requests in GitHub, GitLab, Azure DevOps und Bitbucket Server. Außerdem verfügt es über einen Shelve-Trigger für Perforce, um Änderungen in zurückgestellten („shelved“) Dateien aus Perforce-Changelists zu verarbeiten.

Sind die VCS-Integrationen in TeamCity kostenlose oder kostenpflichtige Funktionen?

Alle VCS-Integrationen sind in allen TeamCity-Versionen verfügbar – auch in der kostenlosen, selbst gehosteten Version. TeamCity Cloud bietet eine kostenlose 14-tägige Testphase.

Kann ich meinen Code in TeamCity kompilieren, ohne ihn in eine Versionsverwaltung zu committen?

Durch IDE-Plugins für IntelliJ-basierte IDEs und Visual Studio bietet Ihnen TeamCity die Möglichkeit, noch vor dem Commit Ihres Codes einen Build auszuführen. Besonders nützlich ist dies, wenn Ihre gesamte Entwicklung in einem einzigen Branch stattfindet, was zum Beispiel bei der Game-Entwicklung häufig der Fall ist.