Continuous Integration für .NET mit TeamCity

Durch die vollständige Unterstützung der .NET-Toolchain ist TeamCity eine CI/CD-Komplettlösung für Ihre .NET-Projekte. Unabhängig davon, welche Version des .NET-Frameworks Sie nutzen und ob Sie Visual Studio Devenv, MSBuild, .NET CLI oder sogar mehrere unterschiedliche Tools gleichzeitig für Ihre Builds verwenden, TeamCity stellt Ihnen eine einheitliche und zuverlässige Plattform für Continuous Integration/Delivery/Deployment zur Verfügung.

.NET-Build-Management

Um mit CI/CD für .NET loszulegen, müssen Sie TeamCity lediglich mit einem Versionsverwaltungssystem verbinden und das Scannen Ihres Projekts abwarten. TeamCity findet automatisch Ihre Projektmappendateien, analysiert die Projektstruktur und schlägt die erforderlichen Schritte für die Build-Erstellung vor. Der leistungsstarke .NET-Build-Runner von TeamCity unterstützt alle Plattformen, alle .NET-SDK-Versionen und alle aktuellen und älteren Build-Tools.

.NET-Testautomatisierung

Schnelles Feedback durch automatisierte Tests ist ein wesentliches Element von Continuous Integration und Continuous Delivery. TeamCity bietet native Unterstützung für die wichtigsten .NET-Testframeworks, darunter NUnit, MSTest, xUnit, Gallio und MSpec, und sorgt dafür, dass die Testergebnisse in Echtzeit an Ihre Versionsverwaltung und die TeamCity-Bedienoberfläche übermittelt werden.

Integrierte NuGet-Paketverwaltung

Dank der NuGet-Integration von TeamCity und der Unterstützung öffentlicher und privater NuGet-Pakete ist es ganz einfach, den Überblick über Projektabhängigkeiten zu behalten und den Zugriff auf Ihre .NET-Pakete zu verwalten. TeamCity kann benötigte NuGet-Pakete im Rahmen Ihrer Build-Schritte automatisch wiederherstellen, Pakete und Build-Artefakte in externen NuGet-Feeds veröffentlichen und sogar selbst als NuGet-Server fungieren.

Continuous-Integration-Tools für .NET

Der einheitliche .NET-Build-Runner in TeamCity erledigt den Großteil der Build-, Test- und Publishing-Aufgaben für .NET. Er vereinfacht Ihre Build-Konfigurationen und bietet gleichzeitig genügend Flexibilität für jeden Anwendungsfall. Der Runner unterstützt:

  • .NET-CLI-Befehle.
  • MSBuild (Windows und Cross-Plattform).
  • Natives Visual Studio (devenv).
  • Windows- und Cross-Plattform-Tests, einschließlich NUnit und XUnit.
  • Starten von Windows, .NET-Prozessen und Befehlsskripten auf unterschiedlichen Betriebssystemen.
  • Code-Coverage mit NCover, PartCover und dotCover.
  • Protokollierungsstufen und andere Parameter.

Der .NET-Build-Schritt kann in einem Docker-Container unabhängig vom Host-Betriebssystem ausgeführt werden. So können Sie Ihre CI/CD-Prozesse optimieren und Ihren Entwicklungsablauf beschleunigen. Ausführliche technische Details finden Sie im .NET-Abschnitt unserer Dokumentation.

Heben Sie Ihre Continuous Integration für .NET auf ein neues Niveau

Egal wie groß oder klein Ihr Entwicklungsteam ist – wir haben die Lösung für Sie. Entscheiden Sie sich für TeamCity On-Premises, wenn Sie jeden Aspekt Ihrer Delivery-Pipelines präzise abstimmen möchten, oder für TeamCity Cloud, wenn Sie einen Cloud-basierten Managed Service bevorzugen.

Build- und Testautomatisierung mit dem C#-Skript-Runner

Der C#-Skript-Runner von TeamCity ist die ideale Lösung für .NET-Entwickler*innen, die ihre Build-, Test- und Deployment-Jobs in ihrer bevorzugten Sprache definieren möchten. Damit können Sie verschiedene Routineaufgaben im Zusammenhang mit Ihren CI/CD-Pipelines automatisieren, z. B. die Einrichtung der Umgebung, die Benutzerverwaltung im Betriebssystem, Buildstatus-Benachrichtigungen und vieles mehr.

Der C#-Skript-Runner funktioniert unter Windows, Linux und macOS und kann in einem Docker-Container ausgeführt werden. Im Konfigurationsskript können Sie auf Buildparameter, Umgebungsvariablen und Systemeigenschaften verweisen. Der Runner kann auf öffentliche Feeds, private Feeds und die internen NuGet-Feeds von TeamCity zugreifen und NuGet-Pakete automatisch wiederherstellen.

Skalierung der CI/CD-Infrastruktur für Ihre .NET-Projekte

Als eine der führenden Plattformen für die Entwicklung von Web- und Mobil-Apps, Cloud-Diensten und Desktop-Anwendungen wird .NET in vielen Game-Studios und Großunternehmen eingesetzt. TeamCity lässt Sie nie warten, egal wie groß und komplex Ihre Projekte sind und wie viel Rechenlast Ihr Team in Spitzenzeiten verursacht. TeamCity kann die Kapazität Ihrer CI/CD-Infrastruktur dynamisch erhöhen, indem es neue Build-Agents in der Cloud hochfährt, die Build-Warteschlange schwinden lässt und die Buildzeit insgesamt verkürzt.

Die automatische Skalierung ist für eine Vielzahl von Cloud-Plattformen verfügbar, darunter Amazon EC2, Microsoft Azure, Google Cloud, VMware vSphere, Kubernetes und andere. TeamCity kann auch die Leistung der Build-Agents überwachen und dabei sicherstellen, dass Sie immer die optimale Ressourcenmenge für Ihre Pipelines verwenden.

Konfigurieren von CI/CD-Pipelines für .NET

Unterstützung von Versionsverwaltungen

Wie auch immer der Quellcode Ihrer .NET-Projekte strukturiert ist – TeamCity kann sich um Ihren Build-Prozess kümmern. Unsere Lösung integriert sich mühelos in Git, Perforce, Mercurial, Subversion, Team Foundation (TFVC) und weitere gängige Versionsverwaltungen. Unabhängig davon, ob Ihr Code in einem Monorepo gespeichert oder über mehrere Versionsverwaltungen verteilt ist, in der Cloud oder lokal gehostet wird – TeamCity bietet einen einheitlichen Ansatz für die Arbeit mit allen Arten von Repositories, sodass Sie sich auf die Entwicklung großartiger Anwendungen konzentrieren können, anstatt Ihre Zeit mit dem Schreiben eigener VCS-Management-Skripte zu vertrödeln.

Erfahren Sie mehr über die TeamCity-Integrationen für Versionsverwaltungen.

Issue-Tracker-Unterstützung

TeamCity verkürzt nicht nur die Feedback-Schleife, sondern hilft ganz allgemein Ihrem gesamten Team, effektiver zusammenzuarbeiten. Durch die Integration von Issue-Tracking-Systemen können Sie Tickets zu bestimmten Commits, Builds und Deployments zurückverfolgen und so einen strafferen und effizienteren Entwicklungsablauf realisieren. TeamCity verfügt über ein breites Spektrum an Integrationen, unter anderem für gängige Issue-Tracker wie Jira, Azure DevOps, YouTrack, GitHub, GitLab, Bitbucket Cloud und viele andere.

Automatische Pipeline-Optimierung

TeamCity erkennt automatisch die effizientesten Build-Agents, berechnet die optimale Aufgabenreihenfolge, verwendet unveränderte Artefakte wieder, ermöglicht die Verteilung von Tests auf mehrere Build-Agents zur parallelen Ausführung und führt zahlreiche weitere Pipeline-Optimierungen durch, damit Sie Bugs früher erkennen und Ihren Release-Prozess beschleunigen können.

FAQ: Continuous Integration für .NET-Apps mit TeamCity

Kann ich .NET-Apps mit der kostenlosen Version von TeamCity erstellen?

Ja, der .NET-Build-Runner ist eine kostenlose Funktion, die in allen Versionen von TeamCity verfügbar ist, darunter auch in TeamCity Professional, der kostenlosen selbst gehosteten Version. In TeamCity Cloud können Sie den Runner während der 14-tägigen Testphase kostenlos nutzen. Die gleichen Lizenzierungsrichtlinien gelten für alle anderen ähnlichen Funktionen, etwa den C#-Skript-Runner und die NuGet-Integration.

Warum sind die Build-Runner, die ich bisher für .NET verwendet habe, als veraltet gekennzeichnet?

Die alten Build-Runner für MSBuild, Visual Studio (sln), Visual Studio 2003 und Visual Studio Tests werden nicht mehr unterstützt und bleiben nur aus Kompatibilitätsgründen erhalten. Für eine aktuelle Continuous-Integration-Unterstützung für .NET sollten Sie zum neuen, einheitlichen .NET-Build-Runner wechseln.

Kann TeamCity .NET-Builds in einem Docker-Container ausführen?

Ja, TeamCity bietet Ihnen die Wahl, Builds entweder direkt auf Build-Agents oder in Docker auszuführen. Sie können Docker-Befehle mithilfe von Build-Parametern anpassen, Pipelines über Vorlagen zentral einrichten, veraltete Docker-Images automatisch aus Build-Agents und Registries entfernen lassen und noch einiges mehr.

Welche anderen Programmiersprachen unterstützt TeamCity?

TeamCity ist eine universell einsetzbare CI/CD-Lösung, die alle Programmiersprachen unterstützt und Integrationen für alle gängigen Build- und Testtools bietet. Neben dem .NET-Build-Runner verfügt TeamCity über spezielle Runner für Gradle, Maven, Node.js, Python, Kotlin und weitere Technologien. Benutzerdefinierte Buildskripte können über den generischen Befehlszeilen-Runner ausgeführt werden.