TeamCity 2024.03: integriertes HashiCorp-Vault-Plugin, nicht vertrauenswürdige Builds und mehr

In Version 2024.03 haben wir eine Reihe von lang erwarteten Neuerungen eingeführt. Zum Beispiel ist das HashiCorp-Vault-Plugin jetzt in TeamCity integriert. Außerdem können Sie mit unserer neuen Gruppe für nicht vertrauenswürdige Builds zwischen Änderungen von vertrauenswürdigen Benutzer*innen und Änderungen aus externen Quellen unterscheiden.

Darüber hinaus können Benutzer*innen mit dem neuen dotCover-Runner Prozesse mit Code-Coverage Profiling ausführen, Snapshots zwischen Build-Schritten zusammenführen und konsolidierte Berichte innerhalb einer Build-Chain für parallel in TeamCity ausgeführte Tests erstellen.

Lesen Sie weiter, um mehr über die Neuerungen in TeamCity zu erfahren.

Im Paket: HashiCorp-Vault-Plugin jetzt Teil von TeamCity

TeamCity bietet schon seit einiger Zeit eine Integration mit HashiCorp Vault über ein Plugin. Im vergangenen Jahr haben wir die Funktionsweise dieser Integration überarbeitet, sodass sie nun viel einfacher zu konfigurieren ist.

Ab Version 2024.03 wird das Plugin mit TeamCity ausgeliefert und ist dadurch integraler Bestandteil jeder TeamCity-Installation.

In unserer Dokumentation können Sie mehr über die Integration zwischen HashiCorp Vault und TeamCity erfahren.

Optionale Artefaktabhängigkeiten

Artefaktabhängigkeiten in Ihren Buildkonfigurationen bieten die Möglichkeit, Dateien zu nutzen, die von anderen Konfigurationen oder Builds mit derselben Konfiguration erzeugt wurden. Diese Abhängigkeiten werden durch Artefaktregeln definiert, die angeben, welche Dateien von welchem Ort heruntergeladen werden sollen.

Wenn Dateien gemäß diesen Regeln nicht gefunden wurden, brach TeamCity den Buildvorgang bisher mit der Fehlermeldung „Unable to resolve artifact dependency" („Artefaktabhängigkeit konnte nicht aufgelöst werden“) ab.

In Version 2024.03 führen wir einen flexibleren Ansatz für die Definition von Artefaktabhängigkeiten ein. Jetzt haben Sie die Möglichkeit, Abhängigkeiten so zu konfigurieren, dass sie in den folgenden Fällen ignoriert werden:

  • Der Quell-Build existiert überhaupt nicht (Ausnahme: es gibt andere, nicht-optionale Regeln).
  • Im Quell-Build ist die benötigte Datei nicht vorhanden.
  • Die Artefaktregel verweist auf ein Archiv, und das Archiv enthält nicht die benötigte Datei.

Wenn Sie uns Feedback zu dieser Funktion geben möchten, haben Sie im dazugehörigen YouTrack-Ticket die Möglichkeit dazu.

Die vollständige Liste der Neuerungen finden Sie auf der Seite What’s New (Das ist neu) in unserer Dokumentation.

Mehr Kontrolle über externe Pull-Requests mit einer Gruppe für nicht vertrauenswürdige Builds

Mit der Funktion Pull Requests können Sie neuen Code überprüfen, bevor Sie ihn in den Hauptcodebestand übernehmen. Benutzer*innen können auswählen, ob sie Builds von allen Mitwirkenden oder nur von solchen innerhalb ihrer Organisation ausführen möchten. Die erste Option birgt Sicherheitsrisiken, da der TeamCity-Server möglicherweise schädlichem Code ausgesetzt wird, während die zweite Option die Zusammenarbeit mit einer größeren Gruppe von Mitwirkenden einschränkt.

In Version 2024.03 haben wir die sogenannte Untrusted-Builds-Gruppe eingeführt. Dadurch kann TeamCity zwischen den Änderungen vertrauenswürdiger Mitwirkender und Änderungen aus externen Quellen unterscheiden.

Mehr Kontrolle über externe Pull-Requests mit einer Gruppe für nicht vertrauenswürdige Builds

Die Untrusted-Builds-Gruppe ist derzeit für GitHub und GitLab verfügbar. Weitere Informationen dazu finden Sie in unserer Dokumentation.

Neuer dotCover-Runner

JetBrains dotCover wird schon seit einiger Zeit als Code-Coverage-Tool für .NET-Projekte in TeamCity unterstützt. In Version 2024.03 haben wir dem .NET-Support-Plugin einen neuen Build-Runner spendiert, der die Integration von dotCover ermöglicht.

Der neue dotCover-Runner bietet Benutzer*innen folgende Möglichkeiten:

  • Ausführen von beliebigen Prozessen mit dotCover-Profiling zum Anlegen von Coverage-Snapshots.
  • Zusammenführen von Build-Schritt-Snapshots, die von anderen .NET- oder dotCover-Runnern erstellt wurden.
  • Generieren von zusammengeführten Berichten über parallele Tests einer Build-Chain und Konvertieren in benutzerspezifische TeamCity-Berichte.

Weitere Informationen finden Sie in unserer Dokumentation.

Richtlinien zur Wiederholung von .NET-Tests in TeamCity

In Version 2024.03 haben wir die Funktionalität des .NET-Build-Runners erweitert. Mit der neuen Option können Benutzer*innen Wiederholungsrichtlinien für fehlgeschlagene Tests in einem Build festzulegen.

Mehr Kontrolle über externe Pull-Requests mit einer Gruppe für nicht vertrauenswürdige Builds

Diese Funktion wird dazu beitragen, unzuverlässige Tests sowie temporäre Fehler bei Integrationstests zu reduzieren.

Weitere Informationen finden Sie in unserer Dokumentation.

Konfigurationscache-Unterstützung im Gradle-Runner

Die Konfigurationscache-Option in Gradle steigert die Build-Performance erheblich, indem die Ergebnisse der Konfigurationsphase gecacht und in nachfolgenden Builds wiederverwendet werden. Vor Version 2024.03 bot der Gradle-Build-Runner von TeamCity keine Unterstützung für diese Funktion.

In dieser Version haben wir diese Funktionalität in TeamCity eingeführt und damit die Effizienz und Performance von Gradle-Builds verbessert. In unserer Dokumentation finden Sie Informationen darüber, wie Sie die Konfigurationscache-Option in Ihrer TeamCity-Installation aktivieren können.

TeamCity 2023.11: Matrix-Builds, Build-Caches und mehr

TeamCity 2023.11 enthält eine Reihe von spannenden Funktionen, die das Konfigurieren von Builds vereinfachen, darunter Matrix-Builds und Build-Caches.

Verbesserte Integrationen für Git-Hosting-Plattformen wie GitHub, GitLab, Bitbucket und Azure DevOps ermöglichen jetzt eine einfachere Authentifizierung.

Die komplett überarbeitete Bedienoberfläche der EC2- und S3-Plugins vereinfacht die Nutzung dieser Amazon-Services.

Lesen Sie weiter, um mehr über die Neuerungen zu erfahren.

Matrix-Builds feiern Premiere

Bild zu Matrix-Builds

Mit der Matrix-Build-Funktion von TeamCity können Sie eine Kombination von Parametern definieren, für die eine Matrix von Builds erstellt wird. Für jede Kombination von Parameterwerten wird ein individueller Build erzeugt. Der Matrix-Build setzt sich dementsprechend aus mehreren parallel ausgeführten Builds zusammen.

Matrix-Builds sind besonders nützlich, wenn Sie Ihre Software in unterschiedlichen Konfigurationen testen, z. B. für verschiedene Betriebssysteme oder Browserversionen.

Read more about matrix builds in our documentation.

Build-Cache: reduzieren, wiederverwenden, recyceln

Build-Cache: reduzieren, wiederverwenden, recyceln

Im CI/CD-Bereich gelten Single-Use-Build-Agents, die nur einmalig verwendet werden, als beste und sicherste Praxis. Aber auch besten Verfahren haben ihre Tücken.

Jedes Mal, wenn Sie einen Build auf einem Single-Use-Build-Agent ausführen, müssen für den Buildvorgang zahlreiche kleine oder große Bibliotheken aus dem Internet heruntergeladen werden. Dies führt zu langen Buildzeiten und Verzögerungen beim Starten des Buildvorgangs.

Jetzt nicht mehr!

Build-Caches helfen Ihnen, Ihre CI/CD-Buildzeiten zu optimieren, indem die Abhängigkeiten Ihres Projekts einmalig heruntergeladen und innerhalb des Projekts wiederverwendet werden.

Learn more about Build Caches in our documentation.

Frische Brise in der Cloud: Updates für EC2- und S3-Plugins

Frische Brise in der Cloud: Updates für EC2- und S3-Plugins

Mit dem Release 2023.11 haben wir unseren Ansatz für die Einstellung von Profilen und Images in der Cloud völlig neu konzipiert. Eine neue Oberfläche leitet Sie durch den Prozess und schlägt relevante Einstellungsoptionen vor.

Sie können jetzt EC2-Mac-Instanzen nutzen, Build-Agents auf einer AWS-EC2-Spot-Instanz mit einem Spot Placement Score ausführen und vieles mehr.

Auch das S3-Plugin hat eine intuitive und vereinfachte neue Bedienoberfläche erhalten, die für Amazon-S3-Buckets und S3-kompatible Speicher gleichermaßen optimiert wurde.

Weitere Informationen finden Sie in unserer Dokumentation.

TeamCity ist bereit für Git

TeamCity bietet eine reibungslose Integration mit Git-Hosting-Plattformen wie GitHub, GitLab, Bitbucket (Cloud und Data Center) und Azure DevOps.

GitHub

In 2023.05 haben wir eine neue Methode zur Einbindung von GitHub eingeführt. Statt des traditionellen OAuth-basierten Repository-Zugriffs können Sie GitHub-Apps verwenden.

Ab Version 2023.11 können diese Verbindungen effizienter hergestellt werden, wobei die manuelle Konfiguration und Registrierung neuer Apps in GitHub entfällt.

TeamCity ist bereit für Git

Zur Authentifizierung können Sie jetzt auf den Einstellungsseiten für die Build-Features Commitstatus-Publisher und Pull-Requests sowie für den GitHub-Issue-Tracker nicht personenbezogene, aktualisierbare Zugangstoken für GitHub-App-Verbindungen erstellen.

GitLab

Ab Version 2023.11 können Sie TeamCity so konfigurieren, dass Merge-Request-Entwürfe im Build-Feature Pull-Requests für GitLab ignoriert werden.

GitLab

Commitstatus-Publisher und Pull-Requests für GitLab-Repositories können jetzt aktualisierbare OAuth-Tokens zur Authentifizierung verwenden.

Aktualisierbare Authentifizierungstoken

Commitstatus-Publisher und Pull-Requests für GitLab-Repositories können jetzt aktualisierbare App-Tokens zur Authentifizierung verwenden.

Azure DevOps

TeamCity unterstützt jetzt aktualisierbare OAuth-Tokens für die Build-Features Commitstatus-Publisher und Pull-Requests für Azure DevOps.

Weitere Informationen finden Sie in unserer Dokumentation.

Bitbucket-Cloud

Mit diesem Release verbessern wir die Bitbucket-Authentifizierung in mehrfacher Hinsicht.

In addition to app passwords and VCS Root credential authentication types, TeamCity also supports refreshable and permanent access tokens as an authentication method for the Pull Request Build Feature for Bitbucket Cloud.

Bitbucket Server/Data Center

Das Feature Pull-Requests kann jetzt aktualisierbare OAuth-Tokens für den Zugriff auf Repositories in Bitbucket Server/Data Center verwenden.

Weitere Informationen finden Sie in unserer Dokumentation.

Verbesserte Integration für Perforce Helix Swarm

Verbesserte Integration für Perforce Helix Swarm

We’ve also improved the existing Swarm and TeamCity integration. Mithilfe der Integration können Sie den TeamCity-Buildstatus in Swarm verwenden und von TeamCity zur Swarm-Oberfläche navigieren.

Ab Version 2023.11 kann der TeamCity-Publisher „Perforce Helix Swarm“ für das Build-Feature Commitstatus-Publisher in benutzerdefinierte Workflows integriert werden, die bereits in Ihrer Swarm-Installation vorhanden sind. Außerdem benötigt der Commitstatus-Publisher keine Admin-Zugangsdaten mehr.

Jetzt können Sie die Integration einrichten, ohne in TeamCity Swarm-Zugangsdaten mit Adminrechten einzugeben. Mithilfe der aktualisierten Integration können außerdem Gates, die auf TeamCity-Prüfungen basieren, in benutzerdefinierte Workflows eingebunden werden.

Weitere Informationen finden Sie in unserer Dokumentation.

Agent-Pools in Favoriten speichern

Verbesserte Unterstützung für Pull-Request-Entwürfe im Build-Feature „Pull Requests“

Sie haben jetzt die Möglichkeit, bestimmte Agenten-Pools als Favoriten zu markieren und zentral auf sie zuzugreifen. Dies ist praktisch, wenn Sie oft auf die Agent-Pools zugreifen müssen, für die Sie zuständig sind.

Terminal-Power: einfacher Zugriff auf Ihre Agents über Agent-Terminals

Terminal-Power: einfacher Zugriff auf Ihre Agents über Agent-Terminals

Agent terminal is a unique TeamCity feature that provides a convenient and quick way to get direct access to an agent machine by opening a remote terminal directly from the TeamCity UI. Die Terminals werden unter Linux, Windows (mit PowerShell) und macOS unterstützt.

Ab Version 2023.11 müssen Sie nicht mehr zu einem anderen Tab wechseln, um ein Agent-Terminal zu öffnen – dieser wird auf derselben Seite in der TeamCity-Oberfläche geöffnet.

TeamCity 2023.05: Dunkles Design, Terminal für Agents und mehr

TeamCity 2023.05 bringt mehrere mit Spannung erwartete Funktionen mit, darunter ein dunkles Design, einen verbesserten Terminalzugriff auf Agents und Verbesserungen für Multinode-Konfigurationen. Um die Sicherheit weiter zu erhöhen, bietet TeamCity jetzt eine Integration mit Let’s Encrypt und ermöglicht die Aktivierung der Zwei-Faktor-Authentifizierung für benutzerdefinierte Gruppen. Außerdem führt dieses Release spannende neue Funktionen ein – zum Beispiel eine GitHub-App-Verbindung und die Möglichkeit, benutzerdefinierte Slack-Nachrichten direkt aus einem laufenden Buildvorgang zu versenden.

Probieren Sie das dunkle Design aus

Entwickler*innen haben jedes Recht, bei der Verwendung ihrer täglichen Werkzeuge etwas Komfort einzufordern. Aus diesem Grund haben wir einen der meistvotierten Funktionswünsche in der Geschichte von TeamCity zur Produktionsreife entwickelt: das dunkle Design.

Eine dunkle Bedienoberfläche kann helfen, die Augen zu entlasten und visuelle Ablenkungen zu verringern. Außerdem finden einige Benutzer*innen sie ästhetisch ansprechender.

Das dunkle Design ist in TeamCity für beide Bedienoberflächen – Classic und Sakura – verfügbar. Neben den Einstellungen Light und Dark steht Ihnen auch die Option System theme zur Verfügung, die das Design automatisch an Ihre Betriebssystemeinstellungen anpasst.

Terminal für Agents

Agent terminal

Sie können jetzt direkt in der Bedienoberfläche von TeamCity 2023.05 Remote-Terminals für den Zugriff auf Agent-Systeme öffnen, um unkompliziert Protokolle einzusehen, die installierte Software zu überprüfen oder Probleme zu debuggen.

Diese neue Funktion ist besonders nützlich bei der Behebung von Problemen auf einem Agent-System, da es mit Remote-Terminals nicht mehr erforderlich ist, SSH-Schlüssel für die Verbindung zu verwalten. Die Unterstützung umfasst Mac, Linux und Windows (mit PowerShell).

Verbesserungen für Multinode-Konfigurationen

Verbesserungen für Multinode-Konfigurationen

Dieses Release enthält auch eine verbesserte Verteilungslogik für Anfragen, die für eine effizientere Lastverteilung zwischen Haupt- und sekundären Knoten sorgt.

Um die Skalierbarkeit von TeamCity zu verbessern, sind die Knoten jetzt vollständig austauschbar. Alle Knoten innerhalb des TeamCity-Netzwerks können zum Load-Balancing der Benutzeranfragen beitragen, sodass die von UI-Benutzer*innen erzeugte Rechenlast gleichmäßiger auf alle Knoten verteilt werden kann.

VCS-Polling durch mehrere Knoten

In TeamCity 2023.05 ist das Polling von VCS-Repositories nicht mehr auf einen einzigen Knoten beschränkt. In der neuesten Version kann diese Aufgabe an mehrere Knoten delegiert werden, um die Arbeitslast gleichmäßiger zu verteilen, neue Commits schneller zu erkennen und die Build-Auslösung zu beschleunigen.

Durch diese Verbesserung können Benutzer*innen ihre Build-, Test- und Deployment-Prozesse vereinfachen, die Gesamteffizienz steigern, Verzögerungen reduzieren und die Produktivität erhöhen.

Höhere Sicherheit

Bei TeamCity hat eine robuste Sicherheit oberste Priorität. Um die Widerstandsfähigkeit gegen Datenschutzverletzungen und potenziellen Betriebsstörungen zu stärken, haben wir die folgenden Funktionen integriert:

Integration mit Let’s Encrypt

TeamCity enthält jetzt eine Integration mit Let’s Encrypt, einer Zertifizierungsstelle, die automatisiert kostenlose digitale Zertifikate ausstellt, um die Verwendung von HTTPS auf Websites zu erleichtern. Über eine Verbindung zu Let’s Encrypt kann TeamCity automatisch ein gültiges Zertifikat beziehen und installieren, das anschließend ohne jeden Benutzereingriff aktualisiert wird.

Zweistufige Authentifizierung

In früheren Versionen wirkte sich die Aktivierung der obligatorischen zweistufigen Authentifizierung auf den gesamten Server aus. Mit diesem neuen Release können Sie individuelle Benutzergruppen anlegen, für die die Verwendung von 2FA auch dann verpflichtend ist, wenn global die Einstellung Optional verwendet wird.

GitHub-App-Verbindung

GitHub-App-Verbindung

Für die Zusammenarbeit mit GitHub kann TeamCity jetzt als GitHub-App autorisiert werden. Dadurch können verschiedene Aktionen ausgeführt und die GitHub-API verwendet werden, ohne separate Service-Accounts einzurichten oder im Namen eines Benutzeraccounts zu agieren.

Der größte Vorteil einer GitHub App-Verbindung besteht darin, dass TeamCity nicht mehr mit den Zugangsdaten einer Benutzerin oder eines Benutzers auf GitHub zugreifen muss. Stattdessen werden nicht personenbezogene, erneuerbare Token verwendet, die für eine GitHub-App-Installation in der GitHub-Organisation bzw. dem GitHub-Account der Benutzerin oder des Benutzers ausgestellt werden. Dies ist besonders dann nützlich, wenn eine Person das Unternehmen verlässt oder wenn ihre Zugriffsrechte geändert werden.

Verbesserte Unterstützung für Pull-Request-Entwürfe im Build-Feature „Pull Requests“

Verbesserte Unterstützung für Pull-Request-Entwürfe im Build-Feature „Pull Requests“

In TeamCity Cloud 2022.12 wurde die Möglichkeit eingeführt, das Build-Feature Pull Requests so zu konfigurieren, dass Pull-Request-Entwürfe in GitHub ignoriert werden.

In Version 2023.05 können Sie auch mit der On-Premises-Version Pull-Request-Entwürfe in GitHub ignorieren, wenn Sie das Build-Feature Pull Requests verwenden. Wenn Sie in den Feature-Einstellungen die Option Ignore Drafts aktivieren, ignoriert TeamCity alle Pull-Request-Entwürfe so lange, bis ihr Status geändert wird.

Individuelle Benachrichtigungen

TeamCity-Benutzer*innen konnten bisher schon E-Mail- und Slack-Benachrichtigungen für bestimmte Ereignisse konfigurieren. In Version 2023.05 wird diese Funktion erweitert. Sie können nun Slack-Nachrichten und E-Mail-Benachrichtigungen über Servicenachrichten versenden.

Individuelle Benachrichtigungen

Um Nachrichten an falsche Empfänger zu verhindern und Links zu nicht vertrauenswürdigen externen Ressourcen einzuschränken, werden für diese Servicenachrichten integrierte Sicherheitsmaßnahmen eingesetzt.

Ein Szenario, in dem dies besonders hilfreich sein kann, ist der Versand von Benachrichtigungen, wenn bestimmte Bedingungen erfüllt sind oder kritische Ereignisse eintreten – zum Beispiel wenn ein laufendes Deployment einen Fehler meldet, der sofort überprüft werden muss, noch bevor der Buildvorgang beendet ist.

Hinzufügen und Entfernen von Build-Tags über Servicenachrichten

Hinzufügen und Entfernen von Build-Tags über Servicenachrichten

Mithilfe von Servicenachrichten können Sie nicht nur benutzerdefinierte Benachrichtigungen versenden, sondern auch Build-Tags hinzufügen und entfernen.

Mit Build-Tags können Builds nach bestimmten Kriterien kategorisiert und strukturiert werden. Zum Beispiel können Sie Build-Tags verwenden, um die Ursachen von Build-Fehlern zu kennzeichnen und so die Identifizierung von Builds mit ähnlichen Fehlerursachen zu vereinfachen.

Podman-Unterstützung

Podman-Unterstützung

Release 2023.05 unterstützt Podman, eine Container-Engine, mit der Container ohne Rootrechte verwaltet werden können. Die vollständige Kompatibilität mit Docker-Befehlen erleichtert den Wechsel zwischen den beiden Engines.

Jetzt sind Sie am Zug

Die vollständige Liste der Neuerungen finden Sie auf der Seite Das ist neu in unserer Dokumentation.

Wie immer freuen wir uns auf Ihr Feedback! Sie können uns gerne eine Anfrage über das Supportformular zusenden.

TeamCity 2022.10

TeamCity 2022.10 verwendet standardmäßig die Sakura-UI und führt zahlreiche neue Cloud-Funktionen ein, darunter eine AWS-Zugangsdatenverwaltung und einen standardmäßigen Terminalzugriff auf AWS-EC2-basierte Build-Agents. Darüber hinaus wurden wichtige Verbesserungen bei den VCS-Integrationen vorgenommen. Server-Admins werden von der vereinfachten HTTPS-Implementierung in On-Premises-Installationen von TeamCity begeistert sein. Außerdem wurden ein neues Authentifizierungsmodul für Google-Accounts und eine Reihe von lange geforderten Funktionen eingeführt.

Sakura-UI: perfekt bis ins Detail

Sakura /sa.ku.ʁa/ – Kirschblüte – symbolisiert Erneuerung und Optimismus, und dies ist eine treffende Beschreibung unserer Gefühle bei der Einführung der Sakura-Bedienoberfläche als Standard in TeamCity 2022.10.

Die Sakura-UI ist modern, ästhetisch und schnell. Die Barrierefreiheit wurde von Beginn an berücksichtigt, und der Funktionsumfang ist nicht nur mit der klassischen Bedienoberfläche vergleichbar, sondern bietet zudem viele neue, einzigartige Funktionen. In mehr als vier Jahren Arbeit haben wir die Sakura-UI bis ins kleinste Detail perfektioniert. Dabei hatten wir die einmalige Gelegenheit, sie mit Tausenden internen und externen Projekten zu testen, darunter auch gigantische Vorhaben wie IntelliJ IDEA und Kotlin. Wir sind zuversichtlich, dass die neue Bedienoberfläche auch Sie begeistern wird!

Wir wissen, dass einige unserer Benutzer*innen an der alten Bedienoberfläche hängen und werden sie deshalb für eine begrenzte Zeit weiterhin zur Verfügung stellen. In einer der nächsten Versionen werden wir sie jedoch als veraltet kennzeichnen und schließlich durch die Sakura-UI ersetzen. Erstellen Sie daher bitte ein Ticket in YouTrack, wenn Sie der Meinung sind, dass wir etwas übersehen haben.

3, 2, 1 und los – ab in die Cloud!

Immer mehr unserer Kunden verlagern ihre TeamCity-Installationen in die Cloud, und dementsprechend bauen wir unsere Cloud-Funktionen kontinuierlich aus.

Einfachere und sicherere Verwaltung von AWS-Zugangsdaten

Wir haben ein neues Managementsystem für AWS-Zugangsdaten implementiert, das temporäre, kurzzeitig gültige AWS-Schlüssel ausgibt und diese auf sichere Weise für Ihre Builds bereitstellt.

Terminalzugriff auf AWS-EC2-basierte Build-Agents

Wir sind der Meinung, dass jedes Entwicklungsteam eine vollständige Übersicht und Kontrolle über seine Delivery-Pipelines verdient. Um das Debugging von cloudbasierten CI/CD-Systemen zu verbessern, bieten wir Ihnen die Möglichkeit, direkt aus der TeamCity-Oberfläche heraus eine sichere Terminalsitzung zu AWS-EC2-basierten Build-Agents zu öffnen – ohne die Verwaltungskonsole des Cloud-Anbieters aufzurufen oder ein vielbeschäftigtes DevOps-Team mit der Einrichtung von Netzwerkzugangslisten und SSH-Schlüsselpaaren zu belasten.

Die Funktion setzt die Berechtigung Open an interactive session to the agent (Interaktive Sitzung zum Agent öffnen) voraus. Diese ist standardmäßig nur Serveradmins zugewiesen, kann jedoch bei Bedarf auch anderen Benutzer*innen gewährt werden.

Wartungsmodus für Cloud-Agents

Wenn Sie schon einmal ein Problem in einer CI/CD-Pipeline in der Cloud debuggen mussten, wissen Sie, wie schwierig das sein kann. Es ist nicht nur aufwändig, den richtigen Build-Agent zu finden und zu starten – Sie müssen darüber hinaus noch sicherstellen, dass er nicht mitten im Vorgang einen neuen Build startet.

An dieser Stelle kommt der Wartungsmodus ins Spiel. In diesem Modus beendet TeamCity den Cloud-Agent nicht automatisch nach Abschluss eines Builds, und der Agent wird auch nicht neuen Builds zugewiesen, sodass Sie in Ruhe die Fehlerbehebung durchführen können.

Verwaltung von Cloud Instanzen in einer Multiserver-Installation

Ab TeamCity 2022.10 können sekundäre TeamCity-Knoten Cloud-Instanzen starten und stoppen. Dies ermöglicht den unterbrechungsfreien Betrieb von Cloud-basierten CI-Systemen während der Wartung des primären Servers.

Verbesserte VCS-Integrationen

Perforce

TeamCity 2022.10 bietet zwei Verbesserungen in Bezug auf die Perforce-Integration:

  • Perforce Shelve Trigger erkennt jetzt, wenn eine zurückgestellte („shelved“) Änderungsliste einem nicht standardmäßigen Stream zugeordnet ist und erlaubt die Buildausführung auf diesem.
  • TeamCity erkennt jetzt Änderungslisten, für die Reviews in Perforce Helix Swarm vorliegen, und zeigt auf den entsprechenden Review- und Change-Seiten unter Build Overview und Changes Links an.

Unterstützung für Refresh-Tokens in OAuth-Verbindungen

TeamCity 2022.10 verwendet jetzt bei der Arbeit mit GitLab, Bitbucket Cloud und Azure DevOps kurzlebige OAuth-Tokens. Dadurch können Sie VCS-Roots erstellen, ohne Zugangstokens für diese Dienste manuell erzeugen zu müssen.

Ein neues Sicherheitsniveau

Standardmäßige HTTPS-Unterstützung

Standardmäßige HTTPS-Unterstützung

Die Sicherheit von CI/CD-Pipelines ist heute wichtiger denn je. In Version 2022.10 haben wir die Aktivierung von HTTPS in Ihrem TeamCity-Server vereinfacht. Sie müssen lediglich ein HTTPS-Zertifikat oder eine Zertifikatskette im PEM-Format hochladen, und TeamCity kümmert sich um den Rest.

Token mit eingeschränkten Rechten

Sie können jetzt temporäre Zugangstoken erstellen, mit denen sich andere Personen unter Ihrem Account mit begrenzten Rechten bei TeamCity anmelden können – z. B. mit Lesezugriff auf ein einziges Projekt. Dies kann nützlich sein, wenn Sie Unterstützung beim Debugging anfordern oder eine Vorführung geben möchten.

Anmeldung mit Ihrem Google-Account

Um mehr Workflows zu unterstützen und die Nutzung von TeamCity zu vereinfachen, unterstützen wir jetzt die Authentifizierung mit Google-Accounts. Wenn Sie sich mit Google anmelden, ordnet TeamCity die Google-E-Mail-Adresse sofort einem bestehenden TeamCity-Account zu und meldet diesen an, ohne dass Sie ein Passwort eingeben müssen. TeamCity kann auch automatisch neue Benutzerprofile erstellen, wenn neue Mitglieder Ihrem Team beitreten, vorausgesetzt, die verwendete E-Mail-Adresse gehört zu einer der von Ihnen angegebenen Domains.

Verbesserte Datenträgerbereinigung

Das Build-Feature Free Disk Space hat jetzt die Größe von Artefakten im Blick und berechnet automatisch den zur Auflösung von Artefaktabhängigkeiten benötigten Speicherplatz. Dadurch wird die Verwendung des Build-Features übersichtlicher, da Sie die Größe der während des Buildvorgangs heruntergeladenen Artefakte nicht mehr kennen müssen. Sie müssen nur noch angeben, wie viel Speicherplatz der Buildprozess selbst benötigt.

Promote-Vorgang für persönliche Builds

Ab TeamCity 2022.10 können Sie persönliche Builds promoten. Builds, die nach dem Promote-Vorgang ausgelöst werden, sind ebenfalls persönliche Builds.

Dies waren nur die wichtigsten Neuerungen in TeamCity 2022.10. Die vollständige Liste der Änderungen finden Sie in der TeamCity-Dokumentation.

TeamCity 2022.04

Mit der neuen Funktionalität Testparallelisierung sorgt TeamCity 2022.04 für einen außerordentlichen Geschwindigkeitsschub beim Testen Ihrer Projekte. Neue, leistungsstarke Funktionen für die Codeanalyse verringern den Zeitaufwand für Code-Reviews und verbessern die Wartbarkeit Ihrer Projekte. Wenn Sie Ihre Builds in der Cloud kompilieren, werden Sie von der verbesserten Integration mit Amazon S3 und Amazon CloudFront ebenso begeistert sein wie von der neuen Möglichkeit, Cloud-Profile programmgesteuert zu verwalten. Wir haben die VCS-Integrationen umfassend verbessert, neue Konfigurationsoptionen eingeführt und die Bedienoberfläche an zahlreichen Stellen optimiert.

Unerreichte Geschwindigkeit durch parallele Tests

TeamCity kann jetzt die Testausführung parallelisieren. Indem Ihre Tests sinnvoll auf mehrere Build-Agents aufgeteilt werden, wird die gesamte Testdauer minimiert. Im Gegensatz zu anderen CI/CD-Lösungen berücksichtigt TeamCity hierbei nicht nur den letzten Testlauf, sondern Ihre gesamte Testhistorie. Dadurch können Sie Ihren Code nach Belieben refaktorieren, Ihre Tests fehlschlagen lassen und auch sonst alles tun, was Ihnen für Ihr Projekt sinnvoll erscheint, ohne befürchten zu müssen, dass die Parallelisierung einbricht und Ihre Pipelines verstopfen.

Durch parallele Tests hat sich die Art und Weise, wie wir mit TeamCity entwickeln und testen, grundlegend geändert. Unsere internen Integrationstests werden gut 10-mal schneller ausgeführt, und die Testdauer ist von 4 Stunden auf etwa 20 Minuten geschrumpft.

Die Testausführung kann auf vielfältige Weise parallelisiert werden. Maven-, Gradle- und .NET-Build-Runner unterstützen diese Funktionalität standardmäßig, daher ist es am einfachsten, einen solchen Build-Runner zu verwenden. Bei anderen Build-Runnern und benutzerdefinierten Buildskripten speichert TeamCity die optimale Methode zur Testparallelisierung in speziellen Anweisungsdateien, sodass Sie Ihre parallelen Tests selbst einrichten können.

Integrierte Code-Qualitätsinspektionen für einen besseren Code

Integrierte Code-Qualitätsinspektionen für einen besseren Code

Zu den zahlreichen Methoden, die Ihnen TeamCity bietet, um Fehler zu beseitigen und die Qualität Ihrer Software zu verbessern, ist jetzt eine weitere Möglichkeit hinzugekommen. Ab Version 2022.04 können Sie umfassende Code-Qualitätsinspektionen und verschiedene weitere neue Aktionen nutzen, die allesamt von JetBrains Qodana bereitgestellt werden:

  • Führen Sie statische Codeanalysen durch.
  • Finden Sie Duplikate in Ihrem Code.
  • Verfolgen Sie die Entwicklung der Codequalität im Zeitverlauf – und noch einiges mehr.

Wenn Sie Codeinspektionen in Ihre Build-Pipelines integrieren, können Sie den Zeitaufwand für Code-Reviews reduzieren, die Wartbarkeit Ihrer Projekte sicherstellen und jedem Mitglied Ihres Teams zu mehr Arbeitseffizienz verhelfen. We welcome you to check out a live demo.

Neue Dimensionen der Cloud-Integration

Alle Prozesse verlagern sich zunehmend in die Cloud, und wir sehen, dass immer mehr unserer Kunden mitziehen. TeamCity 2022.04 hebt die Cloud-Anbindung auf eine neue Stufe, indem die Integrationsmöglichkeiten mit Amazon Web Services verbessert und neue Konfigurationsoptionen hinzugefügt werden.

Migration von Build-Artefakten zu Amazon S3

TeamCity bietet seit jeher eine leistungsstarke Integration mit Amazon EC2 und Amazon S3, damit Sie Ihre Build-Infrastruktur unabhängig von der Größe und Komplexität Ihrer Projekte frei skalieren können. Mit Version 2022.04 können Sie nicht nur neue Build-Artefakte in Amazon S3 speichern, sondern auch bestehende Artefakte aus dem lokalen TeamCity-Speicher zu Amazon S3 verschieben. Besonders nützlich ist dies für Teams, die eine selbst gehostete Installation zu einer Cloudplattform migrieren und von Anfang an alle Vorteile nutzen möchten.

Herunterladen von Build-Artefakten von Amazon CloudFront

Herunterladen von Build-Artefakten von Amazon CloudFront

Die Arbeit mit Build-Artefakten, die in Amazon S3 gespeichert sind, kann je nach der geografischen Entfernung zwischen Ihnen und der Region des S3-Buckets langsam und kostenträchtig sein. Um Ihre Kosten zu senken, bietet TeamCity 2022.04 native Unterstützung für Amazon CloudFront. Dadurch können Sie mit Artefakten arbeiten, die in den nächstgelegenen AWS-Speichern gecacht werden. Dies funktioniert auf allen Ebenen – einschließlich Build-Agents, Web-Nutzung, API-Anfragen usw. – und kann Ihrem Entwicklungsprozess einen enormen Geschwindigkeitsschub verleihen.

Mehr Möglichkeiten zur Verwaltung der Autoskalierung auf Projektebene

Das Speichern der CI/CD-Konfiguration zusammen mit dem Projektcode ist der beste Weg, um sicherzustellen, dass Ihr Projekt zu jeder Zeit kompiliert, getestet und bereitgestellt werden kann. Um mehr Flexibilität bei cloudbasierten Buildvorgängen zu bieten, erweitert TeamCity 2022.04 die Kotlin-DSL und gibt Ihnen die Möglichkeit, zu jedem Projekt eine eigene Cloudprofil-Konfiguration zu speichern.

Mehr Power für Ihre Deployment-Workflows

Wie in unserer Roadmap angekündigt, sind wir dabei, in den Deployment-Bereich vorzustoßen, und als ersten Schritt in diese Richtung führen wir Build-Genehmigungen ein. Sie haben jetzt die Möglichkeit, Build-Konfigurationen zu erstellen, die nicht sofort nach dem Auslösen gestartet werden, sondern in der Warteschlange bleiben, bis alle Mitglieder des Genehmigungsteams grünes Licht gegeben haben. Diese Funktionalität ist besonders nützlich für erfahrene Teams, die den Zugriff der Entwickler*innen auf die Produktionsumgebung nicht einschränken möchten, aber gleichzeitig ein höheres Maß an Kontrolle über den Deployment-Vorgang benötigen.

Ihr Feedback ist willkommen! Wenn Sie Funktionswünsche in Bezug auf Deployments haben, zögern Sie nicht, einen entsprechenden Vorschlag in unserem YouTrack-Projekt einzureichen.

Intelligentere VCS-Integrationen

Merge-Requests in Space

Im Rahmen der stetig verbesserten Integration mit JetBrains Space unterstützen wir jetzt Merge-Requests. Bei der Erstellung eines MR-basierten Builds veröffentlicht TeamCity jetzt den Status in der entsprechenden MR-Zeitleiste in Space.

GitLab-Tickets

Wir haben die Liste der unterstützten Issue-Tracker um GitLab erweitert. Die Unterstützung funktioniert exakt so, wie Sie es erwarten würden: Wenn in einer Commit-Nachricht eine Ticket-ID erwähnt wird, fügt TeamCity automatisch einen Link zum entsprechenden GitLab-Ticket hinzu und zeigt Informationen dazu an.

Berichte über Builds in der Warteschlange

Bisher sendete das Build-Feature Commit Status Publisher erst dann Informationen an das Versionsverwaltungssystem, wenn TeamCity den eigentlichen Build-Vorgang gestartet hatte – und dies geschah oft erst lange nach dem Commit. Ab dieser Version aktualisiert TeamCity den Commit-Status direkt nach der Aufnahme des Builds in die Warteschlange, sodass Ihnen jetzt aktuellere Informationen zur Verfügung stehen. Dies funktioniert mit allen unterstützten Versionsverwaltungen, einschließlich GitHub, GitLab, Space, Bitbucket und Azure DevOps.

Erstellen eines benutzerdefinierten Builds mit einer bestimmten Revision

Erstellen eines benutzerdefinierten Builds mit einer bestimmten Revision

Bei der Ausführung eines benutzerdefinierten Builds können Sie jetzt eine genaue Revision angeben, die nicht unbedingt zur Liste der Änderungen gehören muss, die der Build-Konfiguration bekannt sind. Dies gibt Ihnen viel mehr Flexibilität, um historische Builds zu reproduzieren, ältere Versionen bereitzustellen, neue Build-Konfigurationen zu debuggen und viele weitere Situationen zu meistern.

Mehr Kontrolle über Feature-Branches

Mehr Kontrolle über Feature-Branches

Mit TeamCity war es schon immer möglich, die Anzahl der gleichzeitig laufenden Builds für eine Build-Konfiguration zu begrenzen. Ab Version 2022.04 können Sie dieses Limit auf der Branch-Ebene festlegen und damit die Ressourcenzuweisung weiter optimieren. Zum Beispiel können Sie festlegen, dass Ihr Hauptbranch mit einer unbegrenzten Anzahl von Builds so viele Build-Agents wie benötigt belegen kann, während Feature-Branches auf jeweils nur einen Build beschränkt sind.

Innere und äußere Sicherheit

Log4J und Log4Shell

Obwohl TeamCity nicht von der Log4Shell-Schwachstelle (CVE-2021-44228) betroffen ist, haben einige Sicherheitsscanner fälschlicherweise eine Sicherheitslücke gemeldet, ohne die genaue Versionsnummer des im Produkt verwendeten Log4J-Frameworks zu überprüfen. Um falsch positive Scannermeldungen zu vermeiden, haben wir Log4J auf die neueste Version aktualisiert.

Spring und Spring4Shell

Wie bei Log4Shell ist TeamCity auch von der Spring4Shell-Schwachstelle (CVE-2022-22965) nicht betroffen. Um jedoch falsch positive Warnungen von Sicherheitsscannern zu vermeiden, haben wir das in TeamCity verwendete Spring-Framework auf die neueste Version aktualisiert.

Fortschritte in der Sakura-Bedienoberfläche

Unsere neue Sakura-UI nähert sich immer mehr dem Funktionsumfang der klassischen TeamCity-Bedienoberfläche an. In Version 2022.04 haben wir die Seiten Agent Pools und Changes implementiert und die allgemeine Performance der neuen Bedienoberfläche erheblich verbessert. Es fehlt nicht mehr viel, und Sakura kann zur Standard-Bedienoberfläche gekürt werden – nach unseren Planungen dürfte es in TeamCity 2022.10 soweit sein. Bleiben Sie also dran!

Dies sind nur einige Highlights der Verbesserungen, die wir in TeamCity vorgenommen haben. Hinweise zum Upgrade sowie die vollständige Liste der Änderungen in Version 2022.04 finden Sie in der TeamCity-Dokumentation.