GitHub-Integration von TeamCity

TeamCity bietet eine umfassende Integration mit GitHub.com und GitHub Enterprise, sodass Sie die Qualität jedes Commits überprüfen können, ohne auf einen schlanken Entwicklungsworkflow zu verzichten. Ganz gleich, ob Sie für sich allein in Feature-Branches arbeiten oder Mitwirkende aus der Community einladen, Ihr Repo zu forken und Änderungsvorschläge einzureichen – Sie können in jedem Fall TeamCity verwenden, um Builds von neuem Code automatisch zu erstellen und zu testen.

Für Ihren Workflow optimiert

TeamCity ist eine leistungsstarke CI/CD-Plattform, die sich flexibel an Ihre Prozesse anpasst. Ganz gleich, ob Sie mit Feature-Branches arbeiten oder Release Candidates mit Tags markieren, Ihren gesamten Code in GitHub hosten oder ihn auf mehrere Versionsverwaltungen verteilen – Sie können in jedem Fall automatisierte Pipelines konfigurieren, die Ihre Anforderungen abdecken.

Informationen zur Anpassungsfähigkeit von TeamCity finden Sie weiter unten.

Alle benötigten Informationen am benötigten Ort

Es sollte einfach sein, den Status Ihrer letzten Codeänderungen zu überprüfen. Durch die Integration Ihrer CI/CD-Plattform mit GitHub können Sie von TeamCity aus Details zu Commits und den zugehörigen GitHub-Issues einsehen und den Build-Status und die Testergebnisse in GitHub überprüfen. So stehen Ihnen auf beiden Plattformen die benötigten Informationen bereit.

Informationen zu den Reporting-Funktionen von TeamCity finden Sie weiter unten.

Entscheidungsrelevante Erkenntnisse aus Ihren Tests

Probleme im Build-, Test- und Deployment-Ablauf mögen unvermeidlich sein – aber lange Verzögerungen vor dem Neustart der Pipeline sind es nicht. Wenn Fehler auftreten, stellt Ihnen TeamCity die für das Debugging benötigten Informationen bereit, sodass Sie sofort mit der Lösungsfindung beginnen können.

Informationen zu den intelligenten Testfunktionen von TeamCity finden Sie weiter unten.

Höhere Produktivität mit einem modernen CI/CD-System für GitHub

Ganz gleich, wie groß oder klein Ihr Projekt ist: Die Überprüfung von Änderungen direkt während der Arbeit sorgt für eine produktivere und angenehmere Entwicklungserfahrung. Kürzere Feedback-Schleifen sind immer besser. Deshalb gehört ein automatisierter CI/CD-Prozess bei jedem Softwareprojekt untrennbar dazu.

TeamCity beschleunigt den Entwicklungsprozess auf verschiedene Weise:

  • Durch die Optimierung der Pipeline und die Wiederverwendung von Artefakten aus früheren Builds werden in den Pipelines nur die minimal erforderlichen Schritte ausgeführt und dadurch sichergestellt, dass Sie keine Zeit damit verschwenden, alles von Grund auf neu zu erstellen.
  • Durch eine intelligente Testparallelisierung können Sie die Durchführung Ihrer automatisierten Tests beschleunigen.
  • Echtzeitberichte und -benachrichtigungen informieren Sie noch vor Abschluss des Buildvorgangs über eventuelle Codeprobleme.
  • Die intelligente Fehleranalyse ermöglicht eine schnelle Identifizierung des fehlerhaften Commits und der zuständigen Person, sodass Sie den Iterationszyklus beschleunigen können.
  • Der Testverlauf vermittelt ein besseres Verständnis für problematische Stellen im Projekt und ermöglicht die Analyse von Trends und ungewöhnlichem Verhalten in Ihrem Code.

Durch die Flexibilität, frei definierte Pipelines zur Ergänzung Ihres Entwicklungsworkflows zu konfigurieren, ermöglicht TeamCity Teams, Einzelentwickler*innen und Community-Projekten, Best Practices im DevOps-Bereich zu implementieren und die Vorteile der Automatisierung für Continuous Integration und Continuous Delivery zu nutzen.

Sind Sie bereit, Ihre GitHub-basierte Entwicklung zu beschleunigen?

Unsere CI/CD-Integration für GitHub ist sowohl in TeamCity On-Premises als auch für TeamCity Cloud verfügbar. Dies gibt Ihnen die Flexibilität, den Einsatz Ihrer Build-Agents selbst zu verwalten oder das Infrastrukturmanagement auszulagern und sich stattdessen auf die Entwicklung großartiger Software zu konzentrieren.

Zentrale Funktionen der GitHub-Integration

Reibungslose Authentifizierung

Sowohl TeamCity On-Premises als auch TeamCity Cloud geben Ihnen eine vollständige Kontrolle über die GitHub-Authentifizierung. Sie können automatisch einen neuen Account erstellen, wenn sich jemand bei GitHub anmeldet, den Zugriff auf Unternehmensmitarbeiter*innen beschränken, die TeamCity-Benutzerrechte unabhängig von GitHub-Rollen verwalten und vieles mehr.

Native Pull-Request-Unterstützung

TeamCity erkennt, wenn ein Pull-Request auf GitHub eröffnet wird, und kann anhand verschiedener Kriterien CI/CD-Prüfungen veranlassen:

  • Namen von Quell- und Ziel-Branch.
  • Autor*in des Pull-Requests und ihre Rolle im Unternehmen.
  • Änderungen in bestimmten Dateien und Verzeichnissen.
  • Text der Commit-Nachricht.

Sie können den Fortschritt und die Ergebnisse der automatisierten Prüfungen in der GitHub-Bedienoberfläche verfolgen und TeamCity anweisen, dass Pull-Requests automatisch gemergt werden sollen, wenn alle Prüfungen erfolgreich abgeschlossen wurden.

Statusberichte

TeamCity stellt Feedback überall dort bereit, wo Sie dies benötigen. Innerhalb der TeamCity-Bedienoberfläche können Sie den Fortschritt von Builds, Tests und Deployments in Echtzeit verfolgen. Gleichzeitig werden die entsprechenden Informationen an GitHub gesendet, sodass Sie stets über den Status Ihrer Commits oder Pull-Requests informiert sind.

Damit Sie Benachrichtigungen noch schneller erhalten, bietet TeamCity integrierte Unterstützung für Slack-, IDE-, Browser- und E-Mail-Benachrichtigungen. Eine große Auswahl weiterer Optionen – von Telegram bis Discord – wird über TeamCity-Plugins realisiert.

Automatisierung von CI/CD-Pipelines von beliebiger Komplexität und Größe

Unerreichte Flexibilität und Kontrolle

TeamCity ist so konzipiert, dass es sich nahtlos in den Entwicklungsworkflow jedes Teams einfügt und die Effizienz erhöht. Feature-Branches, Release-Branches, Pull-Requests, Monorepos oder unterschiedliche VCS – unabhängig davon, welchen Prozess Sie bei der Bereitstellung neuer Features verfolgen, kann unsere Lösung Ihre Abläufe schneller und angenehmer gestalten.

TeamCity unterstützt alle Programmiersprachen, funktioniert auf allen Plattformen und lässt sich in alle gängigen Build- und Test-Frameworks integrieren. Sie können Ihren CI/CD-Ablauf mit unterschiedlichen Arten von Triggern automatisieren und Build-, Test- und Deployment-Schritte dynamisch anpassen, indem die entsprechenden Parameter von Triggern festgelegt oder an einem beliebigen Punkt in der Pipeline definiert werden.

Nach Abschluss eines Builds kann TeamCity automatisch Änderungen in den Ziel-Branch mergen, Buildnummern in Git-Tags hinterlegen, den Status des Commits oder des Pull-Requests in GitHub aktualisieren, Build-Artefakte in einer Container-Registry veröffentlichen und vieles mehr. Ganz gleich, wie Ihr Projekt gestaltet ist – TeamCity kümmert sich um Ihre Builds!

Entscheidungsrelevante Erkenntnisse aus Ihren Tests

TeamCity versteht Ihre Tests besser als jedes andere CI/CD-Tool:

  • Wenn in einem Test ein Fehler auftritt, identifiziert TeamCity automatisch die verursachenden Commits und die zuständigen GitHub-Benutzer*innen.
  • Sie können sich Build-Protokolle, Stack-Traces, Build-Artefakte und Screenshots ansehen, um sich Details über fehlgeschlagene Tests zu verschaffen und schneller mit dem Debugging beginnen zu können.
  • Der Testverlauf hilft Ihnen, unzuverlässige Tests zu identifizieren, die Arten von Änderungen zu erkennen, die Ihre Builds besonders häufig torpedieren, Unterschiede in der Testdauer zu analysieren und den genauen Zeitpunkt zu ermitteln, an dem ein bestimmter Test zum ersten Mal fehlgeschlagen ist.
  • Sie können unzuverlässige Tests einzelnen Personen zur Untersuchung zuweisen und den Fehler in der Zwischenzeit stummschalten.
  • Code-Coverage-Informationen und statische Analysen helfen Ihnen, potenzielle Probleme in Ihrem Code zu erkennen.

Und das Beste ist: Diese Funktionen sind auch dann verfügbar, wenn Sie Ihre Tests in Docker ausführen.

FAQ: Continuous Integration mit TeamCity und GitHub

Bietet TeamCity Unterstützung bei der Migration von anderen Versionsverwaltungen nach GitHub?

TeamCity ist nicht das richtige Tool für die Migration selbst, aber es kann während der Migration für unterbrechungsfreie CI/CD-Abläufe sorgen. Indem Sie alle Repositories zu den VCS-Roots von TeamCity hinzufügen, stellen Sie den gesamten Code für den Buildprozess zur Verfügung – unabhängig davon, ob sich der Code noch in der alten Versionsverwaltung, in der neuen oder irgendwo dazwischen befindet.

Ist TeamCity besser als GitHub?

TeamCity und GitHub haben unterschiedliche Einsatzbereiche. Daher lässt sich die Frage, welches der beiden besser sei, nicht sinnvoll beantworten. TeamCity konzentriert sich auf die CI/CD-Pipeline und bietet viel mehr Funktionen als GitHub Actions. Gleichzeitig verfügt es nicht über den Funktionsumfang von GitHub in Sachen Versionsverwaltung, Code-Reviews oder Projektmanagement.

Ist die Integration zwischen TeamCity und GitHub kostenlos verfügbar?

Ja, die Integration zwischen TeamCity und GitHub ist kostenlos verfügbar. TeamCity Professional, die kostenlose On-Premises-Version von TeamCity, kann ohne jede Einschränkung kommerziell verwendet werden.

Kann ich meinen Code in TeamCity testen, ohne ihn in GitHub zu committen?

Ja, Sie können Code in TeamCity testen, ohne ihn in GitHub zu committen. Dazu können Sie einen Git-Patch erstellen, ihn in TeamCity hochladen und dann einen persönlichen Build ausführen. Alternativ können Sie auch ein IDE-Plugin verwenden.