TeamCity ist ein Build-Management- und CI/CD-Server ( Continuous Integration / Continuous Delivery ) von JetBrains . [ 2 ] TeamCity wurde erstmals am 2. Oktober 2006 veröffentlicht und unterstützt Entwicklungsteams bei der Automatisierung von Build-, Test- und Deployment-Prozessen für Softwareprojekte auf verschiedenen Plattformen und Technologien. [ 3 ] TeamCity basiert auf einem Freemium -Lizenzmodell mit einer kostenlosen Version, die bis zu 100 Build-Konfigurationen und drei Build-Agent-Lizenzen umfasst. Open-Source -Projekte können zudem komplett kostenlose Lizenzen anfordern. Für Enterprise-Funktionen ist eine kostenpflichtige Lizenz erforderlich.
Überblick
TeamCity dient als zentrale Plattform für DevOps- Praktiken und ermöglicht Teams die Implementierung von CI/ CD - Workflows. Das System überwacht Versionskontrollsysteme auf Änderungen und löst automatisch Builds, Tests und Deployments basierend auf konfigurierbaren Regeln und Triggern aus. Die webbasierte Oberfläche bietet umfassende Transparenz über Build-Status, Testergebnisse, Codequalitätsmetriken und Deployment-Pipelines. Die Plattform basiert auf Java und läuft als Serveranwendung, die lokal oder in Cloud-Umgebungen bereitgestellt werden kann. TeamCity unterstützt die verteilte Build-Verarbeitung durch seine Build-Agent-Architektur, wodurch Teams ihre CI/CD-Infrastruktur über mehrere Maschinen und Umgebungen skalieren können.
Hauptmerkmale
Gebäudemanagement
- Flexible Build-Konfigurationen: Unterstützung für komplexe Build-Ketten mit Abhängigkeiten, paralleler Ausführung und bedingter Logik
- Build-Vorlagen: Wiederverwendbare Konfigurationsvorlagen zur Standardisierung von Build-Prozessen in verschiedenen Projekten
- Artefaktverwaltung: Integriertes Artefakt-Repository mit Versionierung, Bereinigungsrichtlinien und Abhängigkeitsauflösung
- Build-Trigger: Mehrere Triggertypen, darunter VCS-Änderungen, zeitplanbasierte, abhängigkeitsbasierte und manuelle Trigger.
- Build-Parameter: Konfigurierbare Parameter für umgebungsspezifische Builds und Deployments
Kontinuierliche Integration und Tests
- Gated Commits: Eine Vorabvalidierung, die verhindert, dass Entwickler den Hauptzweig beschädigen, indem sie Builds für vorgeschlagene Änderungen ausführen, bevor diese committet werden.
- Parallele Build-Ausführung: Verteilte Build-Verarbeitung über mehrere Build-Agenten für schnelleres Feedback
- Testintegration: Native Unterstützung für gängige Testframeworks mit detaillierter Berichtsfunktion und Verlaufsprotokollierung
- Codequalitätsanalyse: Integrierte Codeabdeckung , Codeinspektionen und Duplikaterkennung
- Fehlerhafte Testerkennung: Automatische Identifizierung und Verfolgung unzuverlässiger Tests
Integration der Entwicklungsumgebung
- IDE-Plugins: Native Integrationen mit IntelliJ IDEA , Eclipse , Visual Studio und anderen gängigen IDEs
- Vorgetestete Commits: Entwickler können Änderungen lokal validieren, bevor sie diese ins Repository übertragen.
- Echtzeitbenachrichtigungen: Statusbenachrichtigungen per E-Mail, Slack und anderen Kommunikationskanälen einrichten.
- Persönliche Builds: Private Build-Validierung für einzelne Entwickler
Bereitstellungs- und Release-Management
Bereitstellungspipelines: Visueller Pipeline-Designer für komplexe Bereitstellungsworkflows Umgebungsmanagement: Unterstützung mehrerer Bereitstellungsumgebungen mit Promotion-Workflows Release-Management: Integration mit Bereitstellungstools und Cloud-Plattformen Rollback-Funktionen: Automatisierte Rollback-Mechanismen für fehlgeschlagene Bereitstellungen
Unterstützte Technologien
Programmiersprachen und Plattformen
- Java- und JVM -Sprachen
- .NET und .NET Core
- JavaScript und Node.js
- Python
- Rubin
- Gehen
- C++ und C
- PHP
- Schnell
- Kotlin
Build-Tools und Paketmanager
Umfassende Sprachunterstützung:
- Java und JVM-Sprachen (Scala, Groovy, Clojure)
- .NET Framework und .NET Core (C#, VB.NET, F#)
- JavaScript und Node.js
- Python
- Rubin
- Gehen
- C++ und C
- PHP
- Schnell
- Kotlin
Build-Tools & Paketmanager Wichtige Build-Engines:
- Maven (Java-Ökosystem)
- Gradle (Java/Android-Ökosystem)
- MSBuild (.NET-Ökosystem)
- Apache Ant (Java-Ökosystem)
Spieleentwicklungs-Engines
- Unity (C#-Skripting)
- Unreal Engine (C++, Blueprint visuelles Scripting)
- Godot (GDScript, C#, C++)
- GameMaker Studio (GML)
- Konstrukt
- Cocos2d (C++, JavaScript, Lua)
- Benutzerdefinierte Spiel-Engines und Frameworks
Paketmanager:
- npm und Yarn (JavaScript/Node.js)
- NuGet (.NET-Ökosystem)
- pip (Python)
- RubyGems (Rubin)
Zusätzliche Unterstützung für den Build
TeamCity bietet außerdem native Unterstützung für:
- Docker-Containerisierung
- Kubernetes-Bereitstellungen
- Verschiedene Testframeworks für alle unterstützten Sprachen
- Codeabdeckungstools zur Qualitätsanalyse
- Werkzeuge zur statischen Codeanalyse
Versionskontrollsysteme
TeamCity unterstützt die umfassende Integration mit gängigen Versionskontrollsystemen :
- Git (einschließlich GitHub , GitLab , Bitbucket )
- Quecksilber (hg)
- Subversion (svn)
- Perforce
- Gleichzeitiges Versionssystem (CVS)
- Micro Focus StarTeam
- ClearCase (Base und UCM)
- Team Foundation Version Control (TFVC)
- Kunststoff SCM
- Visual SourceSafe (VSS)
- Tresor [ 2 ]
Architektur
TeamCity verwendet eine verteilte Architektur, die aus Folgendem besteht:
- TeamCity Server: Zentrale Verwaltungskomponente, die die Weboberfläche hostet, Konfigurationen verwaltet und Builds koordiniert.
- Build-Agenten: Verteilte Worker, die Build-Aufgaben ausführen und die Ergebnisse an den Server zurückmelden.
- Datenbank: Permanenter Speicher für Build-Verlauf, Konfigurationen und Metadaten
- Artefaktspeicher: Repository für Build-Ausgaben, Abhängigkeiten und Bereitstellungspakete
Diese Architektur ermöglicht horizontale Skalierung und unterstützt hybride Cloud-Bereitstellungen.
Vorteile
Für Entwicklungsteams
Schnellere Feedbackschleifen: Sofortige Benachrichtigung über Build-Fehler und Testergebnisse. Qualitätssicherung: Automatisierte Codequalitätsprüfungen und umfassende Testberichte. Zusammenarbeit: Gemeinsamer Einblick in Projektstatus und Build-Historie. Entwicklerproduktivität: IDE-Integration und Pre-Commit-Validierung reduzieren Kontextwechsel.
für Organisationen
Risikominimierung: Automatisierte Tests und Bereitstellungsvalidierung minimieren Produktionsprobleme. Compliance: Audit-Trails, Zugriffskontrollen und Bereitstellungsverfolgung unterstützen regulatorische Anforderungen. Kosteneffizienz: Reduzierter manueller Aufwand bei Build- und Bereitstellungsprozessen. Skalierbarkeit: Verteilte Architektur unterstützt wachsende Entwicklungsteams und komplexe Projekte.
Vergleich mit Wettbewerbern
TeamCity konkurriert mit anderen CI/CD-Plattformen wie Jenkins , GitLab CI/CD, GitHub Actions, Azure DevOps und CircleCI .
Zu den wichtigsten Unterscheidungsmerkmalen gehören: Benutzererfahrung: Intuitive Weboberfläche mit umfangreichen Anpassungsmöglichkeiten; JetBrains-Ökosystem: Tiefe Integration mit JetBrains-Entwicklungstools; Unternehmensfunktionen: Erweiterte Sicherheits-, Compliance- und Verwaltungsfunktionen; Hybridbereitstellung: Flexible Bereitstellungsoptionen vor Ort und in der Cloud
Lizenzierung
TeamCity bietet verschiedene Lizenzstufen an:
Professionell: Kostenlos für bis zu 100 Build-Konfigurationen und 3 Build-Agenten. Enterprise: Kommerzielle Lizenz mit unbegrenzter Anzahl an Build-Konfigurationen und Agenten. Open Source: Kostenlose Lizenzen für qualifizierte Open-Source-Projekte. Akademisch: Bildungslizenzen für Schulen und Universitäten.
Siehe auch
- Software für kontinuierliche Integration
- Vergleich der Software für kontinuierliche Integration
- DevOps
- Kontinuierliche Lieferung
- Automatisierung erstellen
- JetBrains
Referenzen
- ^ https://www.jetbrains.com/help/teamcity/2025.11/teamcity-2025-11-release-notes.html .
{{cite web}}Fehlend oder leer|title=( Hilfe ) - ^ a b JetBrains TeamCity Entwicklerblog
- ^ JetBrainsGeschichte