TeamCity 2024.03 : Plugin HashiCorp Vault inclus, Builds non sûrs et bien plus

La version 2024.03 comporte de nombreuses fonctionnalités très attendues. Le plugin HashiCorp Vault est maintenant intégré avec TeamCity. Par ailleurs, la nouvelle fonctionnalité de groupe de builds non sûrs permet de différencier les modifications créées par des utilisateurs de confiance de celles provenant de sources externes.

Le nouvel outil d'exécution de dotCover permet en outre aux utilisateurs d'exécuter des processus sous un profilage de couverture du code, de fusionner des instantanés entre des étapes de build, et de générer des rapports consolidés sur une chaîne de build pour des tests parallèles exécutés dans TeamCity.

Poursuivez votre lecture pour en savoir plus sur les nouveautés de TeamCity.

Offre groupée : le plugin HashiCorp Vault fait maintenant partie de TeamCity

Auparavant, l'intégration de TeamCity avec HashiCorp Vault était possible via un plugin. L'année dernière, nous avons repensé le fonctionnement de cette intégration pour en faciliter la configuration.

Avec la version 2024.03, nous avons commencé à intégrer le plugin avec TeamCity, afin qu'il devienne une composante intégrale de toute installation TeamCity.

Apprenez-en plus sur l'intégration de HashiCorp Vault à TeamCity dans notre documentation.

Dépendances d'artefacts optionnelles

Les dépendances d'artefacts permettent à vos configurations de build de récupérer des fichiers produits par d'autres configurations ou builds au sein d'une même configuration. Pour établir ces dépendances, définissez des règles d'artefact spécifiant les fichiers à télécharger et leurs emplacements de stockage.

Auparavant, si TeamCity ne parvenait pas à localiser les fichiers selon ces règles, les builds échouaient avec l'erreur « Unable to resolve artifact dependency ».

Avec la version 2024.03, nous inaugurons une approche plus adaptable pour la définition de dépendances d'artefacts. Vous pouvez désormais configurer les dépendances de façon à ce qu'elles soient ignorées dans les cas suivants :

  • Le build source n'existe pas (sauf s'il y a d'autres règles non facultatives).
  • Le fichier requis manque dans le build source.
  • La règle d'artefact est basée sur une archive qui ne contient pas le fichier requis.

Vous pouvez nous donner votre avis sur cette fonctionnalité dans ce ticket YouTrack.

Pour accéder à la liste complète des nouvelles fonctionnalités, consultez la page Nouveautés dans la documentation.

Davantage de contrôle sur les requêtes pull externes grâce à la fonctionnalité de groupe de builds non sûrs

La fonctionnalité Pull Requests vous permet de réviser le code avant de le fusionner dans la base de code principale. Les utilisateurs peuvent choisir d'exécuter les builds de tous les contributeurs ou uniquement les builds des personnes de leur organisation. La première option présente des risques en termes de sécurité, en exposant potentiellement le serveur TeamCity à du code nuisible, tandis que la seconde option limite la collaboration avec une base de contributeurs plus large.

Dans la version 2024.03, nous avons introduit une fonctionnalité que nous appelons groupe de builds non sûr (untrusted build group), qui permet à TeamCity de différencier les modifications apportées par des utilisateurs de confiance de celles provenant de sources externes.

Davantage de contrôle sur les requêtes pull externes grâce à la fonctionnalité de groupe de builds non sûrs

Actuellement, la fonctionnalité de groupe de builds non sûrs prend en charge GitHub et GitLab. Apprenez-en plus à ce sujet dans notre documentation.

Nouvel outil d'exécution pour dotCover

JetBrains dotCover est pris en charge dans TeamCity en tant qu'outil de couverture du code pour les projets liés à .NET depuis un certain temps maintenant. Dans la version 2024.03, nous avons ajouté un nouvel outil d'exécution de build au plugin .NET Support, qui l'intègre avec l'outil dotCover.

Le nouvel outil d'exécution de dotCover permet aux utilisateurs :

  • D'exécuter des processus arbitraires sous le profilage dotCover pour produire des instantanés de couvertures.
  • De fusionner des instantanés d'étapes de build produits par d'autres outils d'exécution .NET ou dotCover.
  • De générer des rapports fusionnés sur une chaîne de build pour des tests parallèles et de les transformer en rapports TeamCity personnalisés.

Pour en savoir plus, consultez notre documentation

Politiques de nouvelle tentative de test .NET dans TeamCity

Dans la version 2024.03, nous avons ajouté de nouvelles fonctionnalités à l'outil d'exécution de build .NET. Une nouvelle option permet aux utilisateurs de définir des politiques concernant les tentatives de réexécution des tests ayant échoué à l'échelle du build.

Davantage de contrôle sur les requêtes pull externes grâce à la fonctionnalité de groupe de builds non sûrs

Cette fonctionnalité permet de résoudre les problèmes de tests bancals et d'atténuer les défaillances transitoires dans les tests d'intégration.

Apprenez-en plus dans notre documentation.

Prise en charge du cache de configuration dans l'outil d'exécution Gradle

L'option de cache de configuration dans Gradle améliore considérablement les performances des builds en mettant en cache le résultat de la phase de configuration pour le réutiliser dans les builds subséquents. Avant la version 2024.03, le programme d'exécution de build Gradle de TeamCity ne prenait pas en charge cette fonctionnalité.

Nous inaugurons cette fonctionnalité dans cette version afin d'améliorer l'efficacité et les performances des builds Gradle. Consultez notre documentation pour voir comment activer l'option de cache de configuration dans TeamCity.

TeamCity 2023.11 : Builds matriciels, Caches de builds et bien plus

TeamCity 2023.11 inclut plusieurs fonctionnalités très attendues qui aident à configurer les builds plus facilement, parmi lesquelles les builds matriciels et les caches de builds.

Les améliorations de l'intégration avec les plateformes d'hébergement Git, telles que GitHub, GitLab, Bitbucket et Azure DevOps, offrent des options d'authentification plus pratiques.

L'interface utilisateur remaniée pour EC2 et les plugins S3 simplifient l'utilisation de ces services Amazon.

Poursuivez votre lecture pour découvrir les nouveautés.

Bienvenue dans les builds matriciels

Image de builds matriciels

Les builds matriciels de TeamCity permettent de définir une combinaison de paramètres et de valeurs correspondantes pour créer une matrice de builds. Chaque combinaison de valeurs de paramètres génère un build unique. Le build matriciel est ensuite composé à partir de plusieurs builds qui s'exécutent en parallèle.

Les matrices de builds sont particulièrement utiles pour tester les logiciels dans différentes configurations, par exemple différents systèmes d'exploitation ou versions de navigateurs.

Read more about matrix builds in our documentation.

Réduire, réutiliser et recycler grâce aux caches de build

Réduire, réutiliser et recycler grâce aux caches de build

En CI/CD, les agents de build à utilisation unique sont considérés comme le moyen le plus efficace et le plus sûr. Mais les bonnes pratiques n'excluent pas certaines difficultés.

Chaque fois que vous exécutez un build sur un agent à usage unique, vous devez télécharger depuis Internet une ou plusieurs bibliothèques, qui sont parfois volumineuses, afin que le build puisse être exécuté. Cela ralentit le processus de création de build et retarde le démarrage du build final.

C'est fini !

Les caches de builds accélèrent le processus de CI/CD car tous les fichiers dont dépend le projet sont téléchargés une fois puis utilisés dans le projet en fonction des besoins.

Learn more about Build Caches in our documentation.

La tête dans les nuages : mises à jour des plugins EC2 et S3

La tête dans les nuages : mises à jour des plugins EC2 et S3

Nous avons profité de la version 2023.11 pour repenser notre approche de la définition des profils et images cloud. La nouvelle interface utilisateur vous guide tout au long du processus en suggérant les options les mieux adaptées.

Vous pouvez désormais profiter de l'accès aux instances EC2 Mac, de l'exécution des agents de build d'instance spot AWS EC2 avec un score de placement spot et bien plus encore.

Le plugin S3 bénéficie également d'une nouvelle interface utilisateur intuitive et optimisée, conçue pour prendre en compte les compartiments Amazon S3 et les solutions de stockage compatibles avec S3.

Apprenez-en plus dans notre documentation.

Intégration avec les plateformes d'hébergement Git

TeamCity offre une intégration fluide et transparente avec les plateformes d'hébergement Git, parmi lesquelles GitHub, GitLab, Bitbucket (Cloud et Data Center) et Azure DevOps.

GitHub

Dans la version 2023.05, nous avons introduit un nouveau type de connexion à GitHub qui permet d'utiliser les applications GitHub au lieu de l'authentification traditionnelle basée sur OAuth pour accéder aux référentiels de code.

Avec la version 2023.11, vous pouvez établir ces connexions plus facilement, sans configuration manuelle ni enregistrement de nouvelles applications dans GitHub.

Intégration avec les plateformes d'hébergement Git

En ce qui concerne l'authentification, il est désormais possible d'émettre des jetons d'accès impersonnels actualisables sur les pages de paramètres Commit Status Publisher, Pull Requests et GitHub Issue Tracker pour vous authentifier lors de l'établissement d'une connexion via l'application GitHub.

GitLab

À partir de la version 2023.11, vous pouvez configurer TeamCity de façon à ignorer les brouillons de requêtes de fusion dans la fonctionnalité de build Pull Requests pour GitLab.

GitLab

Les fonctionnalités Commit Status Publishers et Pull Requests qui ciblent les référentiels de code GitLab peuvent désormais utiliser des jetons OAuth actualisables pour l'authentification.

Prise en charge des jetons actualisables pour l'authentification

Les fonctions Commit Status Publisher et Pull Requests pour les référentiels de code GitLab peuvent désormais utiliser des jetons d'application actualisables pour l'authentification.

Azure DevOps

TeamCity prend désormais en charge les jetons OAuth actualisables pour les fonctionnalités de build Commit Status Publisher et Pull Requests pour Azure DevOps.

Apprenez-en plus dans notre documentation.

Bitbucket Cloud

Dans cette version, nous avons amélioré l'authentification Bitbucket de plusieurs façons.

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

La fonctionnalité Pull Requests peut désormais utiliser des jetons OAuth actualisables pour accéder à des dépôts de code sur Bitbucket Server / Data Center.

Apprenez-en plus dans notre documentation.

Amélioration de l'intégration avec Perforce Helix Swarm

Amélioration de l'intégration avec Perforce Helix Swarm

We’ve also improved the existing Swarm and TeamCity integration. Cette intégration vous permet d'utiliser les statuts de builds de TeamCity dans Swarm et de naviguer de l'interface utilisateur de TeamCity vers l'interface Swarm.

Avec la version 2023.11, vous pouvez configuer la fonctionnalité Publisher pour la fonctionnalité de build Commit Status Publisher de TeamCity dans Perforce Helix Swarm, en l'intégrant aux workflows personnalisés qui existent déjà dans votre configuration Swarm. D'autre part, la fonctionnalité Commit Status Publisher ne demande plus aux utilisateurs ayant un accès administrateur de s'identifier.

Il est maintenant possible de configurer l'intégration sans utiliser les identifiants de niveau administrateur de Swarm dans TeamCity. L'intégration actualisée permet également d'inclure des murs qualité basés sur les vérifications des workflows personnalisés de TeamCity.

Apprenez-en plus dans notre documentation.

Pools d'agents favoris

Amélioration de la prise en charge des brouillons de requêtes pull dans la fonctionnalité de build Pull Requests

Vous pouvez marquer certains pools d'agents comme favoris et y accéder depuis un seul endroit. Cela facilite considérablement l'accès aux pools d'agents dont vous êtes responsables.

Accès fluide à vos agents via la fonctionnalité Agent terminal

Accès fluide à vos agents via la fonctionnalité Agent terminal

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. Elle est prise en charge sous Linux, Windows (avec PowerShell) et macOS.

À partir de la version 2023.11, vous n'avez plus à changer d'onglet pour ouvrir des terminaux d'agent : ils s'ouvrent sur la même page dans l'interface utilisateur de TeamCity.

TeamCity 2023.05 : thème sombre, terminaux d'agents, et plus encore

TeamCity 2023.05 apporte plusieurs fonctionnalités très attendues des utilisateurs, parmi lesquelles un thème sombre, un meilleur accès aux agents de build depuis le terminal et des améliorations de la configuration multinœuds. Afin de renforcer la sécurité, TeamCity s'intègre désormais avec Let's Encrypt et offre l'authentification à deux facteurs pour les groupes personnalisés. Cette version inaugure également de nouvelles fonctionnalités telles que la connexion avec GitHub App et la possibilité d'envoyer des messages Slack personnalisés directement à partir d'un build en cours d'exécution.

Le thème sombre

Il est important que les développeurs puissent travailler de façon confortable et agréable avec leurs outils au quotidien. Nous avons donc ajouté dans cette version l'une des fonctionnalités les plus demandées dans l'histoire de TeamCity : le thème sombre.

Le thème sombre permet de réduire la fatigue oculaire et les distractions visuelles. Certaines personnes le trouvent également plus esthétique.

Le thème sombre de TeamCity est disponible pour les interfaces utilisateur Classic et Sakura. En plus des options Light et Dark, vous pouvez également choisir System theme, qui s'alignera automatiquement sur les paramètres de votre système d'exploitation.

Terminaux d'agents

Agent terminal

TeamCity 2023.05 permet d'ouvrir des terminaux distants pour accéder aux machines des agents directement depuis l'interface utilisateur de TeamCity, afin que vous puissiez facilement visualiser les journaux de ces agents, contrôler les logiciels installés et déboguer les problèmes spécifiques à ces agents.

Cette nouvelle fonctionnalité est particulièrement utile en cas de dépannage d'un agent, car les terminaux distants éliminent la nécessité de maintenir des clés SSH pour se connecter aux agents. Elle est prise en charge sous Mac, Linux et Windows (avec PowerShell).

Amélioration de la configuration multinœuds

Amélioration de la configuration multinœuds

Dans cette version, nous avons également pour implémenter une logique de distribution des requêtes améliorée, pour une répartition efficace de la charge entre nœuds principaux et secondaires.

Pour renforcer l'évolutivité de TeamCity, les nœuds sont désormais totalement interchangeables. Tous les nœuds du réseau TeamCity peuvent contribuer à l'équilibre des demandes des utilisateurs, ce qui permet une répartition plus harmonieuse de la charge de travail générée par les utilisateurs de l'interface web sur l'ensemble des nœuds.

Attribution de la responsabilité de l'interrogation du VCS à plusieurs nœuds

La version 2023.05 ne limite plus les utilisateurs de TeamCity à un seul nœud pour les responsabilités d'interrogation des référentiels VCS. Elle permet de déléguer cette fonction à plusieurs nœuds, ce qui se traduit par une répartition plus homogène de la charge de travail et par une accélération de l'identification des nouveaux commits et de l'initiation de nouveaux builds.

En utilisant cette fonctionnalité, vous fluidifiez vos processus de builds, de tests et de déploiement, ce qui contribue à en renforcer l'efficacité globale, à réduire les retards et à accroître la productivité.

Renforcement de la sécurité

Pour l'équipe TeamCity, la sécurité est une priorité absolue. Pour renforcer la capacité du produit à résister aux violations de données et aux perturbations potentielles des activités, nous avons intégré les fonctionnalités suivantes.

Intégration avec Let's Encrypt

TeamCity maintenant l'intégration avec Let's Encrypt, une autorité de certification qui fournit des certificats numériques gratuits et automatisés afin de faciliter le fonctionnement du HTTPS sur les sites web. En contactant Let's Encrypt, TeamCity peut automatiquement obtenir et installer un certificat valide, qui sera ensuite actualisé sans intervention de l'utilisateur.

Authentification à deux facteurs

Dans les versions précédentes, l'activation du mode d'authentification à deux facteurs obligatoire affectait l'ensemble du serveur. Cette nouvelle version permet de former des groupes d'utilisateurs personnalisés qui nécessiteront l'utilisation de l'authentification à deux facteurs même si le mode global est défini sur Optional.

Connexion à GitHub App

Connexion à GitHub App

TeamCity peut désormais être autorisé à collaborer avec GitHub en tant qu'application GitHub, une fonctionnalité récente qui permet d'exécuter plusieurs actions et d'utiliser l'API GitHub sans devoir créer plusieurs comptes de service distincts ou agir au nom d'un utilisateur.

Le principal avantage est que TeamCity n'a plus besoin d'accéder à GitHub à l'aide des informations d'identification de l'utilisateur. Au lieu de cela, il utilise désormais des jetons renouvelables non personnels, qui sont accordés pour l'installation de l'application GitHub dans l'organisation ou le compte GitHub de l'utilisateur. Cela s'avère particulièrement utile lorsqu'une personne quitte l'organisation ou que ses droits d'accès sont modifiés.

Amélioration de la prise en charge des brouillons de requêtes pull dans la fonctionnalité de build Pull Requests

Amélioration de la prise en charge des brouillons de requêtes pull dans la fonctionnalité de build Pull Requests

La possibilité de configurer la fonctionnalité de build Pull Requests afin d'ignorer les brouillons de requêtes pull GitHub est disponible depuis la version 2022.12 de TeamCity.

La version 2023.05 permet de ne plus tenir compte des brouillons de requête pull GitHub lors de l'utilisation de la fonctionnalité de build Pull Requests. Vous pouvez activer l'option Ignore Drafts dans les paramètres de la fonctionnalité pour que TeamCity ignore les brouillons de requêtes pull jusqu'à ce que leur état change.

Notifications personnalisables

Les utilisateurs de TeamCity peuvent déjà configurer des notifications par e-mail et Slack pour des événements spécifiques. La version 2023.05 améliore encore cette fonctionnalité en vous permettant d'envoyer des messages Slack et des notifications par e-mail en utilisant des messages de service.

Notifications personnalisables

Pour éviter les erreurs de destinataires de ces messages et limiter les liens vers des ressources externes non fiables, ces messages de service intègrent des mesures de sécurité intrinsèques.

Cela peut s'avérer particulièrement utile dans pour l'envoi de notifications lorsque certaines conditions sont remplies ou lorsque des événements critiques se produisent, par exemple un déploiement en cours signalant une erreur à examiner rapidement alors que le build est en cours.

Ajout et suppression de balises de build via les messages de service

Ajout et suppression de balises de build via les messages de service

Outre l'envoi de notifications personnalisées, vous pouvez également ajouter et supprimer des balises de build à l'aide de messages de service.

L'ajout de balises aux builds permet aux utilisateurs de classer et d'organiser leurs builds selon des critères spécifiques. Par exemple, les balises de build peuvent indiquer la cause des échecs d'un build afin de localiser plus facilement les builds ayant des causes d'échec similaires.

Prise en charge de Podman

Prise en charge de Podman

Avec la version 2023.05, nous introduisons la prise en charge de Podman, un moteur de conteneurs qui permet aux utilisateurs de gérer des conteneurs sans avoir de privilèges d'utilisateur root. La compatibilité totale avec les commandes Docker facilite le passage d'un moteur à un autre.

À vous de jouer

Pour obtenir la liste complète des nouvelles fonctionnalités, consultez la page Nouveautés dans la documentation.

Comme toujours, nous avons hâte de lire vos commentaires ! N'hésitez pas à nous envoyer une demande via le formulaire d'assistance.

TeamCity 2022.10

TeamCity 2022.10 est livré avec l'interface utilisateur Sakura activée par défaut, introduit de nombreuses fonctionnalités liées au cloud (notamment le système de gestion des informations d'identification AWS et l'accès terminal aux agents de build basés sur AWS EC2) et apporte des améliorations importantes aux intégrations VCS. Les administrateurs de serveurs sauront apprécier la nouvelle façon simplifiée d'implémenter HTTPS pour les installations TeamCity sur site. Enfin, un nouveau module d'authentification pour l'utilisation des comptes Google et un certain nombre de fonctionnalités demandées depuis longtemps ont été implémentés.

Interface utilisateur Sakura : la perfection jusque dans les moindres détails

Sakura /sa.ku.ʁa/, soit fleur de cerisier, symbolise le temps du renouveau et de l'optimisme. C'est dans cette optique que nous avons fait de l' interface utilisateur Sakura l'IU par défaut dans TeamCity 2022.10.

L'interface utilisateur Sakura est moderne, élégante et rapide. Conçue dans un souci d'accessibilité, elle présente des fonctionnalités semblables à celles de l'interface utilisateur classique, tout en apportant également de nouvelles capacités uniques. Nous travaillons sur l'interface utilisateur Sakura depuis plus de quatre ans afin de nous assurer qu'elle soit parfaite jusque dans ses plus infimes détails. Nous avons eu l'occasion unique de la tester dans des milliers de projets internes et externes, notamment des géants comme IntelliJ IDEA et Kotlin. Nous espérons qu'elle vous plaira aussi !

Nous comprenons que certains de nos utilisateurs puissent être attachés à l'ancienne interface utilisateur. C'est pourquoi elle reste à disposition pour une durée limitée. Nous l'abandonnerons toutefois dans une prochaine version au profit de l'interface Sakura. Si vous pensez que nous avons oublié un élément, n'hésitez pas à créer un ticket dans YouTrack.

3, 2, 1, décollage imminent, direction le cloud !

De plus en plus de nos clients migrent leurs installations TeamCity vers le cloud. Nous poursuivons donc l'expansion de nos capacités cloud.

Gestion facilitée et plus sécurisée des identifiants AWS

Nous avons mis en place un nouveau système de gestion des informations d'identification AWS qui émet des clés AWS temporaires et les expose de manière sécurisée pour vos builds.

Accès terminal aux agents de build basés sur AWS EC2

Nous considérons que chaque équipe de développement doit bénéficier d'une visibilité et d'un contrôle complets sur ses pipelines de livraison. Pour améliorer l'expérience de débogage de la CI/CD cloud, nous avons ajouté la possibilité d'ouvrir une session de terminal sécurisée aux agents de build basés sur AWS EC2 directement à partir de l'interface utilisateur TeamCity, sans avoir besoin d'accéder à la console de gestion du fournisseur cloud ou de demander à une équipe DevOps déjà très occupée de configurer des listes d'accès au réseau et des paires de clés SSH.

La disponibilité de la fonctionnalité est contrôlée par l'autorisation Open an interactive session to the agent qui n'est activée par défaut que pour les administrateurs du serveur. Elle peut toutefois être attribuée à d'autres utilisateurs si nécessaire.

Mode de maintenance de l'agent cloud

Si vous avez déjà eu besoin de déboguer un problème dans un pipeline CI/CD exécuté sur une instance cloud, vous savez que l'opération peut s'avérer délicate. Elle requiert non seulement du temps et des efforts pour identifier et lancer le bon agent de build, mais également de s'assurer qu'il ne lance pas de nouvelles builds au milieu du processus.

C'est là que le mode maintenance entre en jeu. Dans ce mode, TeamCity ne met pas automatiquement fin aux agents cloud une fois la build terminée, et ils ne sont pas affectés à l'exécution de nouvelles builds. Vous êtes donc libre d'effectuer la résolution de problèmes.

Gestion des instances cloud dans une configuration multiserveur

À partir de TeamCity 2022.10, les nœuds secondaires de TeamCity peuvent démarrer et arrêter les instances cloud, ce qui permet un fonctionnement ininterrompu de la CI basée sur le cloud pendant la maintenance d'un serveur principal.

Intégrations VCS améliorées

Perforce

TeamCity 2022.10 est livré avec deux améliorations relatives à l'intégration avec les outils Perforce :

  • Perforce Shelve Trigger comprend désormais lorsqu'une liste de modifications mise en attente est associée à un flux autre que le flux par défaut et permet d'exécuter la build sur cette liste.
  • TeamCity détecte désormais les listes de modifications qui font l'objet de révisions dans Perforce Helix Swarm et ajoute des liens vers les pages de révision et de modification respectives dans les pages Build Overview et Changes, respectivement.

Prise en charge des jetons d'actualisation dans les connexions OAuth

TeamCity 2022.10 utilise désormais des jetons OAuth à courte durée de vie lorsqu'il travaille avec GitLab, Bitbucket Cloud et Azure DevOps. Vous pouvez donc créer des racines VCS sans avoir à générer manuellement des jetons d'accès pour ces services.

Sécurité de niveau supérieur

Prise en charge HTTPS intégrée

Prise en charge HTTPS intégrée

Aujourd'hui, la sécurité du pipeline de CI/CD est plus importante que jamais. Dans la version 2022.10, nous avons facilité l'activation du protocole HTTPS pour votre serveur TeamCity. Il vous suffit de télécharger un certificat HTTPS ou une chaîne de certificats (au format PEM) et TeamCity s'occupe du reste.

Jetons d'accès limité

Vous pouvez maintenant créer des jetons d'accès temporaires. Ils permettront à d'autres personnes de se connecter à TeamCity sous votre compte, mais avec une portée d'autorisations limitée, par exemple un accès en lecture seule pour un projet spécifique. Ils vous seront utiles si vous souhaitez que quelqu'un vous aide à déboguer votre pipeline, ou si vous réalisez une démo, par exemple.

Connexion avec votre compte Google

Pour prendre en charge davantage de workflows et fluidifier l'expérience avec TeamCity, nous prenons désormais en charge l'authentification à l'aide de comptes Google. Lorsque vous vous connectez avec Google, TeamCity fait instantanément correspondre l'adresse e-mail Google avec un utilisateur de TeamCity, et le connecte sans avoir à saisir de mot de passe. Il crée également automatiquement de nouveaux profils lorsque de nouveaux membres rejoignent votre équipe si leur adresse e-mail appartient à l'un des noms de domaine que vous avez spécifiés.

Amélioration du nettoyage de l'espace disque

La fonctionnalité de build Free Disk Space tient désormais compte de la taille des artefacts et calcule automatiquement l'espace disque nécessaire à la résolution des dépendances des artefacts. L'utilisation de la fonctionnalité de build en est simplifiée, car vous n'avez plus besoin de connaître la taille des artefacts téléchargés pendant la build. Le seul point restant à spécifier est la quantité d'espace disque requise pour le processus de build lui-même.

Promotion des builds personnelles

À partir de TeamCity 2022.10, vous pouvez promouvoir des builds personnelles. Les builds déclenchées après la promotion deviennent également des builds personnelles.

Ce ne sont là que les points essentiels de TeamCity 2022.10. Pour consulter la liste complète des modifications, veuillez vous reporter à la documentation de TeamCity.

TeamCity 2022.04

TeamCity 2022.04 inaugure la nouvelle fonctionnalité Parallel Testing qui permet d'accélérer considérablement les tests de vos projets. Les nouvelles fonctionnalités puissantes d'analyse du code réduisent le temps consacré à la révision du code et améliorent la maintenabilité de vos projets. Les utilisateurs qui exécutent leurs builds dans le cloud apprécieront l'amélioration de l'intégration avec Amazon S3 et Amazon CloudFront, ainsi que la nouvelle option de gestion programmatique des profils cloud. Un certain nombre d'améliorations concernent les intégrations VCS, mais vous trouverez aussi de nouvelles options de configuration et de nombreuses mises à jour de l'interface utilisateur.

Une vitesse incomparable avec les tests en parallèle

TeamCity peut maintenant exécuter vos tests en parallèle en les répartissant intelligemment entre plusieurs agents de build, ce qui réduit leur durée globale. Contrairement à d'autres solutions de CI/CD, cette fonctionnalité prend en compte non seulement la dernière exécution, mais aussi l'historique de vos tests. Ainsi, vous pouvez librement refactoriser votre code, interrompre vos tests et faire ce que vous pensez être le mieux pour votre projet, sans craindre de compromettre l'exécution parallèle et d'enliser vos pipelines.

Les tests en parallèle ont considérablement changé la façon dont nous développons et testons TeamCity. La vitesse de nos tests d'intégration a plus que décuplé, passant de 4 heures à environ 20 minutes.

Il y a de nombreuses façons d'implémenter la parallélisation des tests d'exécution. La plus simple consiste à utiliser un programme d'exécution de build Maven, Gradle ou .NET, prenant directement en charge cette fonctionnalité. Pour les autres outils d'exécution de build et scripts de build personnalisés, TeamCity enregistre la manière optimale de paralléliser les tests dans des fichiers d'instructions spéciaux, ce qui vous permet de configurer vous-même les tests parallèles.

Inspections de la qualité du code intégrées

Inspections de la qualité du code intégrées

TeamCity vous aide à éliminer les bugs et à améliorer la qualité de vos logiciels de nombreuses façons, et en voici une de plus ! À partir de la version 2022.04, vous pouvez activer des inspections avancées de la qualité du code et effectuer de nombreuses nouvelles actions grâce à JetBrains Qodana :

  • Exécutez des vérifications d'analyse statique.
  • Détectez les doublons dans votre code.
  • Suivez l'évolution de la qualité du code au fil du temps, et bien plus encore.

L'ajout d'inspections de code à vos pipelines de builds vous permet de réduire le temps consacré aux révisions de code, garantit la maintenabilité de vos projets et aide chaque développeur de votre équipe à travailler plus efficacement. We welcome you to check out a live demo.

L'intégration avec les plateformes cloud passe à un niveau supérieur

Nous constatons qu'un nombre croissant de nos clients opte pour le cloud. TeamCity 2022.04 offre une meilleure expérience avec le cloud en améliorant l'intégration avec Amazon Web Services et en ajoutant de nouvelles options de configuration.

Migration des artefacts de build vers Amazon S3

TeamCity a toujours bénéficié d'une puissante intégration avec Amazon EC2 et Amazon S3, ce qui vous permettait de faire évoluer librement votre infrastructure de build, quelles que soient la taille et la complexité de vos projets. Sa version 2022.04 permet non seulement de stocker de nouveaux artefacts de builds dans Amazon S3, mais aussi de déplacer des artefacts existants du stockage local de TeamCity vers Amazon S3. Cette nouveauté est particulièrement utile pour les équipes qui commencent tout juste leur migration d'une configuration auto-hébergée vers une plateforme cloud et qui veulent en tirer pleinement parti dès le départ.

Téléchargement des artefacts de builds à partir d'Amazon CloudFront

Téléchargement des artefacts de builds à partir d'Amazon CloudFront

Travailler avec des artefacts de build stockés dans Amazon S3 peut être lent et coûteux en fonction de la distance géographique entre vous et la région où se trouve le compartiment S3. Pour vous aider à réduire ces coûts, TeamCity 2022.04 apporte une prise en charge native d'Amazon CloudFront. Vous pouvez ainsi travailler avec des artefacts mis en cache sur les emplacements périphériques les plus proches fournis par AWS. Cela fonctionne à tous les niveaux, notamment pour les agents de build, utilisateurs web et requêtes API, ce qui peut considérablement accélérer votre processus de développement.

Des moyens supplémentaires de gérer la mise à l'échelle automatique des ressources au niveau du projet (autoscaling)

Stocker la configuration CI/CD avec la base de code de votre projet est le meilleur moyen de s'assurer qu'il puisse être construit, testé et déployé à tout moment. Pour plus de flexibilité lors de la création de logiciels dans le cloud, TeamCity 2022.04 étend le DSL Kotlin et permet à chaque projet d'avoir sa propre configuration de profil cloud.

Optimisation de vos workflows de déploiement

Comme annoncé précédemment dans notre feuille de route, nous commençons à explorer le domaine du déploiement et proposons maintenant les approbations de build. Vous pouvez désormais créer des configurations de build qui ne démarreront pas immédiatement après avoir été déclenchées, mais resteront en attente jusqu'à ce que tous les membres de l'équipe d'approbation donnent leur feu vert. Cette fonctionnalité est particulièrement utile pour les équipes qui ne veulent pas limiter la capacité des développeurs à accéder à l'environnement de production mais qui ont malgré besoin d'un niveau de contrôle plus élevé sur la procédure de déploiement.

Donnez votre avis ! Si vous avez des demandes de fonctionnalités concernant le déploiement, n'hésitez pas à nous les suggérer dans notre projet YouTrack.

Intégrations VCS plus intelligentes

Requêtes de fusion Space

Nous continuons à améliorer l'intégration avec JetBrains Space en ajoutant la prise en charge des requêtes de fusion. Lors de la création d'une requête de fusion, TeamCity publie désormais son état dans la chronologie correspondant à cette requête dans Space.

Problèmes liés à GitLab

La liste des outils de suivi de tickets pris en charge inclut maintenant GitLab. Lorsqu'un message de commit mentionne un identifiant de ticket, TeamCity ajoute automatiquement un lien vers le ticket correspondant dans GitLab et affiche les informations le concernant.

Rapports sur les builds en attente

Auparavant, la fonctionnalité de build Commit Status Publisher n'envoyait pas d'informations au système de contrôle de version avant que TeamCity ne commence effectivement le build, c'est-à-dire potentiellement longtemps après que le commit ait été fait. Avec la nouvelle version, TeamCity met à jour le statut du commit immédiatement après avoir ajouté le build respectif à la file d'attente et vous fournit ainsi les informations les plus récentes. Cette fonctionnalité s'applique à tous les services VCS pris en charge, notamment GitHub, GitLab, Space, Bitbucket et Azure DevOps.

Exécution d'un build personnalisé avec une révision spécifique

Exécution d'un build personnalisé avec une révision spécifique

Lors de l'exécution d'un build personnalisé, vous pouvez maintenant spécifier une révision précise n'appartenant pas nécessairement à la liste des modifications connues par la configuration du build. Cela vous donne beaucoup plus de flexibilité lorsque vous voulez par exemple reproduire d'anciens builds, déployer des versions antérieures ou déboguer de nouvelles configurations de build.

Plus de contrôle sur les branches de fonctionnalités

Plus de contrôle sur les branches de fonctionnalités

TeamCity a toujours permis de limiter le nombre de builds exécutés simultanément pour une configuration de build donnée. Avec la version 2022.04, vous pouvez améliorer l'allocation des ressources et fixer cette limite au niveau de la branche. Par exemple, vous pouvez autoriser un nombre illimité de builds afin de pouvoir utiliser autant d'agents de build que nécessaire, mais limiter vos branches de fonctionnalités à l'exécution d'un seul build à la fois.

Sécurité : intérieur et extérieur

Log4J et Log4Shell

Bien que TeamCity n'ait pas été affecté par la vulnérabilité Log4Shell (CVE-2021-44228), certains scqnners de sécurité l'ont signalé à tort comme vulnérable sans vérifier le numéro de version exact du framework Log4J utilisé dans le produit. Pour éviter les rapports de scanners faux positifs, nous avons mis à niveau Log4J vers la dernière version.

Spring et Spring4Shell

De même que pour Log4Shell, la vulnérabilité de Spring4Shell (CVE-2022-22965) n'affecte pas TeamCity. Toutefois, pour éviter les rapports de faux positifs des scanners de sécurité, nous avons mis à niveau le framework Spring utilisé dans TeamCity vers la dernière version.

Mise à jour de l'interface utilisateur Sakura

En termes de fonctionnalité, l'interface utilisateur de Sakura se rapproche de plus en plus de l'interface utilisateur classique de TeamCity. Dans la version 2022.04, nous avons réimplémenté les pages Agent Pools et Changes et fortement amélioré les performances générales de la nouvelle interface utilisateur. Il ne nous reste plus que quelques étapes pour en faire une option par défaut, ce que nous prévoyons de faire dans TeamCity 2022.10. Restez à l'écoute !

Ce ne sont là que quelques-unes des améliorations apportées à TeamCity. Vous trouverez les instructions de mise à niveau et la liste complète des modifications et nouveautés de la version 2022.04 dans la documentation TeamCity.