Intégration continue avec TeamCity et GitLab

Flexible et adaptable à n'importe quel workflow, TeamCity propose un puissant outil de CI avec une prise en charge de premier ordre de l'intégration avec GitLab.com, GitLab Enterprise Edition et GitLab Community Edition.

Générez des builds à grande échelle là où d'autres échouent

La difficulté de maintenir un processus de livraison efficace en se limitant aux capacités de CI intégrées de GitLab va croissant au fil de l'augmentation en taille et en complexité des projets. Mais TeamCity peut changer la donne ! TeamCity est une solution de CI/CD polyvalente qui n'impose aucun workflow spécifique et maximise la flexibilité et la configurabilité pour les équipes de toutes tailles.

Multiplateforme, multicloud, multilangage

TeamCity est disponible sous Linux, Windows et macOS et peut être exécuté sur votre propre matériel, sur votre infrastructure cloud préférée, dans un cluster Kubernetes ou sur une combinaison quelconque de ces éléments. Il prend en charge tous les langages de programmation et s'intègre à tous les outils populaires utilisés pour créer et tester des logiciels.

Recevez des informations exploitables

TeamCity fournit des informations précieuses et exploitables sur les échecs de builds et de tests afin d'améliorer l'efficacité de votre processus de développement. Il vous informe en temps réel des tests ayant échoué, conserve l'historique de leurs builds, en consigne la durée et étiquette les tests instables comme non fiables. Chaque test peut inclure des traces de pile, des captures d'écran, des journaux d'événements et d'autres données nécessaires à une enquête rapide.

Prise en charge de tout type de workflow

La mise en place de l'intégration continue pour vos projets GitLab est un jeu d'enfant. Une fois la connexion à vos dépôts GitLab configurée, quelques clics suffisent pour créer un nouveau projet TeamCity. Quelle que soit l'organisation de vos projets et de vos workflows, TeamCity s'occupe des builds.

  • Exécutez des builds et des tests unitaires sur chaque commit pour bénéficier d'un retour d'information immédiat sur vos modifications.
  • Créez des workflows personnalisés en fonction du nom d'utilisateur, du nom de la branche, du message de commit ou des modifications apportées aux fichiers.
  • Déclenchez des builds lorsqu'une requête de fusion est ouverte pour exécuter des tests automatisés avant une révision du code.
  • Programmez des builds nocturnes pour exécuter une suite complète de tests de régression et maintenir la qualité du code à un niveau élevé.
  • Automatisez un ensemble complet de builds et de tests lorsque des modifications sont fusionnées avec une branche de publication.
  • Déclenchez le build d'un projet dépendant lorsqu'un build associé se termine sans erreur.

Vous pouvez utiliser TeamCity pour combiner plusieurs langages de programmation, plateformes et infrastructures de build dans un pipeline de CI unique et robuste. Vous pouvez même ajouter plusieurs racines VCS pour créer des pipelines de build pour des projets avec des dépôts hébergés à la fois dans GitLab et d'autres systèmes de contrôle de version, notamment GitHub, Bitbucket, Azure DevOps, Mercurial, Subversion et Perforce. Poursuivez votre lecture sur les intégrations VCS.

Automatisation post-build

Grâce à la prise en charge complète des fonctionnalités de GitLab, TeamCity s'intègre de manière transparente et fluide, et vous offre une vue complète de vos processus DevOps.

Publication de l'état des builds

TeamCity peut publier l'état actuel de chaque build sur GitLab en temps réel, de son ajout à la file d'attente jusqu'à son achèvement. Vous pouvez ainsi en suivre la progression et en visualiser les résultats directement à partir du commit ou de la requête de fusion.

Pour en savoir plus, consultez la section Publication de l'état du commit de notre documentation.

Fusion automatisée et manuelle

Vous pouvez configurer des règles pour fusionner automatiquement les modifications sur une branche dans le cadre du pipeline de CI. Grâce à la prise en charge des fusions en cascade, vous pouvez créer des workflows élaborés pour promouvoir vos modifications vers des branches d'intégration et de publication protégées. Si les tests échouent ou si d'autres conditions de fusion automatique ne sont pas remplies, vous pouvez toujours choisir de fusionner manuellement les modifications directement à partir de l'interface utilisateur de TeamCity, sans avoir à revenir à GitLab.

Pour en savoir plus, consultez les sections Fusion automatique et Fusion manuelle des branches de notre documentation.

Étiquetage VCS

TeamCity permet de définir facilement des balises Git pour enregistrer automatiquement ou manuellement les numéros de version en regard des sources des builds réussis (ou de tous les builds).

Pour en savoir plus, consultez la section Étiquetage VCS de notre documentation.

Intégration du suivi d'incidents

Vous pouvez consulter les détails de tous les tickets GitLab référencés dans les messages de commit directement dans l'interface utilisateur de TeamCity.

Pour en savoir plus, consultez la section Intégration de TeamCity avec le suivi de tickets de notre documentation.

Notifications instantanées

Informez les auteurs de commit et les membres de l'équipe des ruptures de builds ou des défaillances de tests. Célébrez les exécutions de test réussies. Informez les personnes en charge de la révision du code lorsque les vérifications d'intégration continue sont terminées et que les modifications sont prêtes à être examinées. TeamCity propose une prise en charge native de Slack, de votre messagerie électronique et des notifications dans l'IDE et le navigateur, tandis que son riche écosystème de plugins vous propose une prise en charge supplémentaire des notifications dans Microsoft Teams, Telegram et Discord.

Authentification simplifiée

Que ce soit sur TeamCity Cloud ou TeamCity On-Premises, vous pouvez utiliser votre compte GitLab.com ou GitLab CE/EE pour la gestion des identités et des accès.

  • Autorisez les utilisateurs à se connecter à TeamCity avec leurs informations d'identification GitLab.
  • Les résultats de build et de test sont publiés automatiquement sur GitLab. Vous pouvez ainsi choisir d'autoriser tous vos utilisateurs GitLab à accéder à TeamCity ou de limiter l'accès à un sous-ensemble de personnes chargées de configurer les pipelines de build.
  • Mappez des utilisateurs de TeamCity avec leurs profils GitLab.
  • Configurez les autorisations des utilisateurs dans TeamCity indépendamment des rôles de GitLab.

De puissantes fonctionnalités TeamCity pour compléter votre workflow

Intelligence des tests en temps réel

Lorsque les builds et les tests échouent, la priorité absolue est de comprendre la nature du problème et d'en identifier la cause. TeamCity peut :

  • Identifier le commit exact qui a introduit une défaillance, notifier l'auteur de la modification, et attribuer automatiquement des enquêtes.
  • Analyser l'historique de vos tests pour identifier les défaillances corrigées dans les builds ultérieurs et repérer les tests non fiables.
  • Utiliser les inspections d'IntelliJ IDEA ou de ReSharper pour fournir les résultats de l'analyse statique du code dans le cadre de votre pipeline de build.
  • Mesurer l'étendue de la couverture de vos tests automatisés grâce à la prise en charge native des outils Java et .NET et aux intégrations de nombreux autres outils d'exécution de build, notamment Ant, Maven et Python.

Optimisations de la CI

Des boucles de rétroaction courtes et rapides sont essentielles à l'efficacité de votre stratégie DevOps. TeamCity simplifie les workflows de build et de test afin de vous apporter rapidement des informations sur vos dernières modifications. Il accélère ainsi votre processus de publication et vous laisse davantage de temps pour examiner et résoudre les problèmes éventuels.

  • Les étapes de build sont optimisées par défaut pour réutiliser les artefacts de build inchangés.
  • TeamCity identifie automatiquement les agents de build les plus rapides et l'ordre des tâches le plus efficace, ce qui permet des économies considérables de ressources informatiques et de temps pour les grands projets.
  • Obtenez un retour d'information plus rapide en répartissant les tests automatisés sur plusieurs agents avec une parallélisation automatique.
  • Les résultats des tests sont communiqués en temps réel. Vous pouvez donc commencer à examiner les défaillances avant même la fin de l'étape de build.

FAQ : L'intégration continue avec TeamCity et GitLab

L'intégration de TeamCity avec GitLab est-elle une fonctionnalité gratuite ?

L'intégration avec GitLab est disponible dans toutes les versions de TeamCity, y compris la version gratuite auto-hébergée. Vous pouvez également l'essayer gratuitement dans TeamCity Cloud qui est livré avec une période d'essai de 14 jours.

TeamCity est-il meilleur que GitLab ?

La comparaison entre TeamCity et GitLab n'a guère de sens, car ce sont deux types d'outils différents. TeamCity offre davantage de fonctionnalités et de flexibilité que les capacités intégrées de CI/CD de GitLab, mais ne dispose pas de fonctionnalités telles que le suivi des tickets ou l'hébergement Git.

TeamCity prend-il en charge GitLab Container Registry ?

Oui, TeamCity prend en charge tous les registres Docker courants, notamment GitLab Container Registry. Outre les opérations courantes d'extraction et d'exécution, TeamCity peut également supprimer automatiquement des images Docker obsolètes lors du nettoyage du serveur, ce qui est particulièrement utile pour les configurations de CI/CD sur site.

En savoir plus sur l'intégration de Docker dans TeamCity.

Peut-on générer du code dans TeamCity sans envoyer de commit sur GitLab ?

En installant le plugin TeamCity dans un IDE basé sur IntelliJ ou Visual Studio, vous pouvez exécuter un pipeline de CI sur votre code sans passer par un commit. Cette fonctionnalité est particulièrement appréciée des développeurs de jeux.