Une vitesse fortement améliorée 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 JetBrains développe et teste TeamCity. La vitesse de ses 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
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écuter des vérifications d'analyse statique.
- Détecter les doublons dans votre code.
- Suivre 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.
L'intégration avec les plateformes cloud passe à un niveau supérieur
JetBrains a constaté qu'un nombre croissant de ses clients opte pour le cloud. TeamCity 2022.04 offre donc 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
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 sa feuille de route, JetBrains commence à explorer le domaine du déploiement et propose 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 besoin d'un niveau de contrôle plus élevé sur la procédure de déploiement.
Intégrations VCS plus intelligentes
Requêtes de fusion Space
JetBrains continue à 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
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
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 scanners 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, JetBrains a 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é, JetBrains a 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, JetBrains a 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 reste plus que quelques étapes pour en faire une option par défaut, ce que JetBrains prévoit de faire dans TeamCity 2022.10.
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.
Nouveautés et téléchargement de TeamCity 2022.04