Nouveautés de TeamCity 2020.2

TeamCity 2020.2 propose une connexion via des des services externes respectueuse de la vie privée, un tout nouvel outil d'exécution de builds Python et l'intégration avec Bitbucket Cloud et JetBrains Space. Il offre la possibilité d'exécuter des builds dans des services externes sans mobiliser d'agents de build et permet l'édition de projet sur des serveurs secondaires dans des configurations multi-nœuds. Les administrateurs peuvent désormais personnaliser le calendrier de nettoyage du serveur et visualiser l'utilisation de l'espace disque dans des emplacements de stockage externe. Et vous allez adorer les mises à jour de la nouvelle interface utilisateur Sakura.

Authentification avec votre compte GitHub, GitLab ou Bitbucket

Authentification avec votre compte GitHub, GitLab ou Bitbucket

Notre objectif est que l’intégration continue fasse partie intégrante de la vie de chaque développeur. Pour prendre en charge davantage de workflows et améliorer l'expérience avec TeamCity, nous prenons désormais en charge l'authentification via des services externes : GitHub, GitLab et Bitbucket.

TeamCity 2020.2 associe instantanément les comptes OAuth externes aux utilisateurs de TeamCity et leur permet de travailler sur leurs projets sans avoir à entrer de mot de passe. Il s'intègre avec les fonctionnalités de l'annuaire d'utilisateurs des services pris en charge, tels que les organisations GitHub et les groupes GitLab, et peut créer automatiquement de nouveaux profils lorsque de nouveaux membres rejoignent votre équipe.

En plus des services cloud, TeamCity 2020.2 prend en charge les installations sur site de GitHub (GitHub Enterprise) et GitLab (GitLab auto-hébergé).

Bitbucket Cloud : prise en charge des requêtes pull

La version 2020.2 étend l'intégration avec Bitbucket Cloud en ajoutant la prise en charge des requêtes pull. Vous pouvez désormais configurer TeamCity pour récupérer automatiquement les requêtes pull faites dans votre référentiel Bitbucket Cloud et exécuter les builds respectives. En l'associant aux fonctionnalités Commit Status Publisher (éditeur d'état de commit) et Automatic Merge (fusion automatique), vous obtenez une combinaison étonnante qui vous permet de travailler plus efficacement avec vos outils préférés.

Vous utilisez Python ? Créez en Python !

Python étant devenu le deuxième langage de programmation le plus populaire dans le monde, il est utile que votre système d'intégration continue prenne en charge toutes ses fonctionnalités et pratiques de développement les plus récentes. Nous avons donc créé un nouvel outil d'exécution de builds Python qui permet de tirer parti de la puissance et de l'intelligence de TeamCity dans vos projets Python. Cet outil d'exécution de builds fonctionne avec tous les systèmes d'exploitation, prend en charge les environnements virtuels et s'intègre avec la plupart des frameworks de tests et outils d'inspection de code courants pour Python.

Les résultats de vos builds et tests Python sont rapportés dans l'interface utilisateur de TeamCity, de la même manière que pour tous les autres outils d'exécution de builds de TeamCity. Vous pouvez suivre les modifications, analyser les échecs, attribuer des tâches d'investigation à des utilisateurs et utiliser toutes les autres fonctionnalités de TeamCity que vous connaissez et appréciez.

Nouvelle intégration avec Space

JetBrains Space fait maintenant partie des services pris en charge par la fonctionnalité Commit Status Publisher. Jusqu'à présent, pour vérifier que vos modifications n'avaient rien affecté, vous deviez ouvrir TeamCity et y rechercher les résultats de votre build. Avec la nouvelle intégration, Commit Status Publisher enverra automatiquement l'état de vos builds à Space et vous permettra de le consulter sur la page Commits de votre projet.

Tirez le meilleur parti de vos agents grâce aux étapes de build sans agent

Vos pipelines d'intégration et de livraison continues reposent sur des services externes et vos agents de build doivent attendre la finalisation de tâches externes ? Ou pire encore, ils fonctionnent dans AWS ou un autre cloud, et vous font non seulement perdre votre temps, mais vous coûtent aussi de l'argent ? Alors vous allez adorer les étapes de build sans agent fournies par TeamCity 2020.2. Vos builds peuvent désormais exécuter leurs dernières étapes en mode sans agent, libérant ainsi les agents de build pour leur permettre d'exécuter d'autres tâches en file d'attente. TeamCity affiche les étapes de build sans agent en tant que builds standards et vous permet de suivre leur état, de parcourir leurs journaux et de consulter leur historique.

De nombreux serveurs. Une même expérience.

Les grandes entreprises que nous comptons parmi nos clients construisent plus que jamais avec TeamCity, nous continuons donc à faire progresser nos capacités multiserveurs. Dans la version 2020.2, les serveurs secondaires se rapprochent des serveurs primaires en permettant de modifier les paramètres à l'échelle du projet. Votre équipe peut ainsi configurer de nouvelles builds pendant que le serveur principal est en maintenance.

Fonctionnalités professionnelles avancées pour les administrateurs

Stockage externe dans le moniteur Disk Usage

Stockage externe dans le moniteur Disk Usage

Un nombre croissant de nos utilisateurs préfèrent stocker des artefacts dans le cloud, par exemple dans Amazon S3. À partir de sa version 2020.2, TeamCity vous indique l'espace disque occupé par les builds non seulement sur vos disques locaux, mais également dans des emplacements distants.

Calendrier de nettoyage personnalisable

Calendrier de nettoyage personnalisable

La fonction de nettoyage gagne encore en puissance. Vous pouvez désormais la programmer à l'aide d'expressions de type cron pour que le nettoyage du serveur démarre à intervalles réguliers, par exemple le week-end ou deux fois par jour.

Interface Utilisateur Sakura : une alliance parfaite de fonctionnalités et de design

Notre équipe dédiée a travaillé dur pour apporter plus de fonctionnalités et prendre en charge davantage de cas d'utilisation dans l'interface utilisateur expérimentale « Sakura ». TeamCity 2020.2 apporte donc de nombreuses fonctionnalités intéressantes conçues non seulement pour les utilisateurs finaux, mais aussi pour les développeurs de plugins.

Dépendances de builds

Dépendances de builds

L'une des éléments essentiels du travail avec l'intégration et la livraison continues est la capacité à comprendre la vue d'ensemble de toutes les builds, et dans ce domaine, TeamCity 2020.2 apporte deux améliorations significatives à la page Build Dependencies :

  • La vue Timeline affiche désormais non seulement les builds commencées et terminées, mais également les builds en file d'attente.
  • La vue Build Chain montre maintenant la partie « droite » de la chaîne : toutes les builds qui dépendent de celle qui est en cours.

Page d'historique des tests

TeamCity 2020.2 ajoute une autre pièce manquante à l'interface utilisateur Sakura : la nouvelle page Test History . La nouvelle page vous donne des informations détaillées sur vos tests et vous permet, entre autres, d'analyser les tendance et de consulter l'historique des investigations.

Recherche dans le journal de builds

Recherche dans le journal de builds

Nous avons répondu à l'une des demandes majeures de nos utilisateurs : la recherche dans le journal de builds. Il est maintenant beaucoup plus facile de parcourir le journal de builds, de déboguer votre configuration et de comprendre ce qui se passe pendant vos builds.

Framework de développement du plugin Sakura UI

TeamCity a toujours fourni des points d'extension et permis aux développeurs de s'appuyer sur ses fonctionnalités. À partir de la version 2020.2, nous proposons un nouveau moyen d'écrire et d'intégrer des plugins pour l'interface utilisateur. Pour en savoir plus, consultez cette présentation du TeamCity Technology Day.

Interface Utilisateur Sakura : une alliance parfaite de fonctionnalités et de design

La nouvelle page Build Queue est à la fois esthétique et très rapide, pour vous aider à trouver facilement tout ce dont vous avez besoin. Vous pouvez y consulter rapidement les modifications pour chaque build en file d'attente, comprendre ce qui a déclenché la build et où elle sera exécutée, obtenir l'heure de démarrage estimée et voir toutes les autres informations concernant la build dans une interface utilisateur claire et pratique. Vous pouvez sélectionner les builds dont vous n’avez pas besoin et les supprimer de la file d’attente ou, si certaines d'entre elles doivent être achevées plus tôt, les déplacer en haut de la liste.

Ce ne sont là que quelques-unes des améliorations que nous avons apportées à TeamCity. Pour obtenir la liste complète des modifications de la version 2020.2, veuillez consulter la documentation TeamCity.

Nouveautés de TeamCity 2020.1

TeamCity 2019.2 vous offre d'excellents moyens de gérer le nettoyage de vos builds et de suivre les performances de votre serveur. Il prend en charge les modèles de lancement EC2 et propose une nouvelle syntaxe DSL pour définir les chaînes de build. Il fournit en outre un moyen simple d'exécuter des builds personnelles avec des correctifs Git et apporte nombre d'améliorations à l'interface utilisateur expérimentale.

Étapes de build conditionnelles pour une polyvalence inconditionnelle

Étapes de build conditionnelles pour une polyvalence inconditionnelle

Avez-vous déjà voulu exécuter différents scripts de ligne de commande sur différentes plateformes ou déployer des modifications dans plusieurs branches sur différents serveurs de transfert ? Maintenant, vous êtes libre de faire un peu tout ce que vous voulez ! TeamCity 2020.1 vous permet de spécifier des conditions pour vos étapes de build et de ne les exécuter que si les critères sont remplis.

Build évolutive dans un cluster. Merki Kub.

Build évolutive dans un cluster. Merki Kub.

Des déploiements de clusters simples et reproductibles sont désormais disponibles prêts à l’emploi. La version 2020.1 vous permet d’implémenter une architecture CI/CD évolutive par-dessus Kubernetes : les agents de build peuvent être lancés automatiquement lorsque vous en avez besoin, faire leur travail, puis être supprimés une fois la build terminée.

Magie multi-serveur

Magie multi-serveur

Faire fonctionner plusieurs serveurs TeamCity, et les faire fonctionner ensemble peut élever votre CI/CD à un tout nouveau degré de performances et de fiabilité. Nous avons amélioré le fonctionnement de TeamCity dans un environnement de clustering en étendant les fonctionnalités des serveurs secondaires à l’aide du traitement des déclencheurs et de la prise en charge des actions au niveau utilisateur dans l’interface utilisateur.

Traitement des déclencheurs

Les professionnels qui travaillent avec de grandes installations ont des centaines, voire des milliers de déclencheurs qui se lancent lors de changements dans le VCS, de mises à jour de paquets et de nouveaux artefacts. Pour les aider à atteindre les performances les plus élevées possibles, nous permettons désormais aux serveurs secondaires de participer à ce processus pour de décharger le serveur principal.

Actions au niveau de l'utilisateur

Nous avons amélioré l'interface utilisateur du serveur secondaire, ce qui permet de modifier les profils utilisateur, de changer la vue des projets et des configurations, de gérer les agents de build, etc.

Déploiement plus facile des agents de build dans le cloud

TeamCity 2020.1 est livré avec une nouvelle option pour télécharger une distribution d'agent pré-packagé depuis le serveur TeamCity. Les agents de build pré-packagés n'ont pas besoin de se mettre à jour lors de la connexion au serveur TeamCity, ce qui rend la création et la mise à jour d'images cloud plus rapides et plus simples.

Passez vos notifications au niveau supérieur

Passez vos notifications au niveau supérieur

Pour porter les capacités de notification de TeamCity vers de nouveaux sommets, nous avons mis en œuvre une nouvelle fonctionnalité de build qui permet aux administrateurs de projet de configurer des alertes automatiques pour toute l’équipe. De nouvelles notifications peuvent être configurées dans la configuration de la build, vous pouvez donc les modifier, les réutiliser et les partager à l’aide de la DSL Kotlin.

Le tout nouvel outil de notifications Slack permet à votre équipe de recevoir des notifications sur l’état de vos builds directement dans Slack.

Le pouvoir des intégrations

Jira Software Cloud

Jira Software Cloud

TeamCity a toujours bénéficié d’une intégration élégante avec Jira, qui remplace automatiquement les codes de tickets dans les messages de commit par des liens vers les tickets Jira respectifs. Pour prendre en charge un plus grand nombre de workflows encore, nous avons étendu l’intégration et commencé à envoyer l’état de vos builds et déploiements à Jira Software Cloud. Vous pouvez maintenant consulter vos pipelines CI/CD et l’historique des versions directement dans votre outil de suivi des tickets, et consulter les tickets associés aux builds en échec.

Azure DevOps

Azure DevOps

Nous avons étendu la liste des services d’hébergement Git pris en charge avec la fonctionnalité de build Pull Requests, et ajouté la prise en charge des requêtes pull Azure DevOps. La nouvelle option vous permet d’exécuter automatiquement des builds sur des branches de requête pull d’Azure DevOps, de la même manière que ce que permettent GitHub et GitLab.

Nouvelle interface utilisateur Sakura

Nouvelle interface utilisateur Sakura

La plupart des développeurs utilisent les CI/CD tous les jours et nous souhaitons qu’ils s’y sentent comme chez eux. C’est pourquoi nous poursuivons notre quête pour créer une nouvelle interface utilisateur qui sera rapide et facile à utiliser, et nous permettra de proposer de nouvelles fonctionnalités plus rapidement.

Pour prendre en charge davantage de cas d’utilisation du TeamCity classique, l’interface utilisateur expérimentale de la version 2020.1 intègre des pages Agents et Projects actualisées et permet de configurer la barre latérale du projet.

Pour obtenir la liste complète des modifications de la version 2020.2, veuillez consulter la documentation TeamCity.

Nouveautés de TeamCity 2019.2

TeamCity 2019.2 vous offre d'excellents moyens de gérer le nettoyage de vos builds et de suivre les performances de votre serveur. Il prend en charge les modèles de lancement EC2 et propose une nouvelle syntaxe DSL pour définir les chaînes de build. Il fournit en outre un moyen simple d'exécuter des builds personnelles avec des correctifs Git et apporte nombre d'améliorations à l'interface utilisateur expérimentale.

Le nouvel âge du nettoyage

Règles de nettoyage dans TeamCity

TeamCity 2019.2 apporte de nouvelles dimensions de contrôle sur les artefacts et les données historiques créés par vos builds. Le remaniement du moteur de nettoyage vous permet de configurer plusieurs stratégies avec un large éventail de filtres. Vous pouvez par exemple choisir de conserver toutes les builds de certaines branches, ou celles qui comportent des étiquettes spécifiques.

L'utilité de nouvelles règles de nettoyage nous semble particulièrement notable pour les entreprises qui mènent de nombreux projets, et pour les équipes qui utilisent des branches de fonctionnalités au cours du développement.

Vue globale de votre CI

Mesures de TeamCity dans Prometheus

Les pros adorent les outils qui les aident à surveiller le comportement et les performances des systèmes critiques à leur mission. À compter de la version 2019.2, TeamCity expose ses mesures au moyen d'un terminal HTTP, ce qui permet de les collecter avec Prometheus pour les visualiser dans son interface Web, ou dans un tableau de bord Grafana.

Ces mesures comprennent les informations de performance du serveur ainsi que divers détails sur les agents, les projets et les configurations de build.

L'évolutivité, passée au niveau supérieur

Pour beaucoup de grands groupes, une CI haute performance est essentielle aux workflows. TeamCity fait un pas de plus vers une configuration à plusieurs nœuds. Il vous permet d'ajouter des builds à la file d'attente, de gérer les problèmes de builds et les investigations, et d'effectuer d'autres actions de niveau utilisateur – sur un serveur secondaire.

Plus de moyens d'être productifs avec l'interface expérimentale

Nouvelle page de build dans l'interface utilisateur expérimentale

Les développeurs ouvrent souvent TeamCity plusieurs fois par jour. C'est pourquoi nous souhaitons qu'ils puissent y trouver rapidement ce qu'ils cherchent, quelles que soient la taille et la complexité de leurs projets. Conformément à la feuille de route de l'interface utilisateur de TeamCity, nous vous présentons une nouvelle page de build qui vous permet de naviguer simplement dans l'historique des builds, d'enquêter sur les problèmes et de découvrir des erreurs de configuration ou des goulots d'étranglement dans vos chaînes de builds.

Découvrez l'interface utilisateur expérimentale, dont nous sommes particulièrement fiers.

Modèles de lancement EC2. Des builds à des niveaux inespérés

Prise en charge des modèles de lancement EC2

Nous voulons faire en sorte que TeamCity comporte tout ce dont vous avez besoin dans un workflow moderne. La version 2019.2 ajoute la prise en charge des modèles de lancement EC2 et permet d'exécuter des agents de build cloud en utilisant les paramètres de lancement de votre compte AWS. Grâce aux modèles de lancement, la mise à jour et l'installation de nouveaux logiciels sur les agents de build devient simple et direct. Vous n'avez plus besoin d'opérer le moindre changement dans la configuration de votre projet TeamCity.

Boostez votre DSL

Des chaînes de builds faciles à construire

Adieu les clics, bonjour les scripts. Le DSL de Kotlin propose désormais une syntaxe simple et très directe pour définir les chaînes de build. Configurez des builds parallèles et séquentiels, ainsi que des conditions d'échec et des dépendances, et stockez l'ensemble sous forme de code.

De nombreux paramètres. Un seul modèle.

La configuration de projet s'est grandement simplifiée. À compter de la version 2019.2, vos configurations de DSL Kotlin peuvent inclure des paramètres personnalisés que vous devez définir dans l'interface utilisateur lors de l'importation du projet.

Exécutez davantage. Attendez moins. Commencez des builds à l'aide de correctifs Git.

Testez rapidement vos modifications : créez un correctif Git, mettez-le en ligne sur TeamCity puis exécutez une build personnelle, sans créer de branche ni de commit.

Pour connaitre la liste complète des changements de la version 2019.2, consultez la documentation TeamCity.