Intégration du VCS GitHub dans TeamCity

TeamCity propose une intégration complète avec GitHub.com et GitHub Enterprise pour vous permettre de contrôler la qualité de chaque commit et de maintenir un workflow de développement simplifié. Que vous travailliez en privé dans des branches de fonctionnalités ou que vous invitiez des contributeurs de la communauté à forker votre dépôt puis à faire remonter leurs modifications, vous pouvez utiliser TeamCity pour générer et tester automatiquement un nouveau code.

Adapté à votre workflow

TeamCity est une puissante plateforme de CI/CD qui s'adapte en toute flexibilité à vos processus. Vous pouvez travailler avec des branches de fonctionnalités, étiqueter des candidats à une version, tout héberger dans GitHub ou répartir votre code entre plusieurs systèmes de contrôle de version. Quels que soient vos choix, vous pouvez configurer des pipelines automatisés qui répondent à vos besoins.

Vous trouverez plus d'informations sur les possibilités de personnalisation de TeamCity ci-dessous.

Toutes les informations dont vous avez besoin, là où vous en avez besoin

Consulter l'état des dernières modifications de votre code devrait être simple. En intégrant votre plateforme de CI/CD avec GitHub, vous pouvez afficher les détails des commits et les tickets GitHub associés à partir de TeamCity ou consulter l'état de votre build et les résultats des tests à partir de GitHub. Comme vous préférez.

Vous trouverez plus d'informations sur les fonctionnalités de reporting de TeamCity ci-dessous.

Des informations de test exploitables

Les problèmes de build, de test et de déploiement sont peut-être inévitables, mais les longues attentes avant le redémarrage du pipeline ne le sont pas. En cas d'échec, TeamCity fournit les informations dont vous avez besoin pour commencer à déboguer le problème afin que vous puissiez commencer à travailler sur un correctif sans délai.

Consultez d'autres informations sur la logique des tests de TeamCity ci-dessous.

Augmentez votre productivité avec une CI/CD avancée pour GitHub

Quelle que soit la taille de votre projet, la vérification de vos modifications pendant votre travail permet une expérience de développement plus productive et plus agréable. Plus la boucle de rétroaction est courte, mieux c'est. C'est pourquoi un processus de CI/CD automatisé est un élément essentiel de tout projet de développement logiciel.

TeamCity accélère le processus de développement de différentes façons :

  • Il optimise le pipeline et réutilise les artefacts des versions précédentes pour n'exécuter que le minimum d'étapes requises dans les pipelines et vous garantir de ne pas perdre de temps à tout régénérer à partir de zéro.
  • La parallélisation intelligente des tests réduit le temps nécessaire pour exécuter des tests automatisés.
  • Les rapports et notifications en temps réel vous permettent de détecter les problèmes de votre code sans attendre la fin du build.
  • L'analyse intelligente des échecs vous aide à trouver rapidement l'auteur et le commit exact qui a cassé le build. Vous pouvez ainsi accélérer vos itérations.
  • L'historique des tests vous apporte une compréhension globale des points problématiques de votre projet, vous permet d'analyser les tendances et de repérer les comportements inhabituels dans votre code.

Grâce à ses possibilités de configuration de pipelines personnalisés pour compléter votre workflow de développement logiciel, TeamCity permet aux équipes, aux individus et aux projets communautaires de mettre en œuvre les meilleures pratiques de DevOps et de tirer parti de l'automatisation de l'intégration et de la livraison continues.

Vous voulez accélérer votre développement avec GitHub ?

Notre intégration CI/CD pour GitHub est disponible pour les versions sur site et cloud de TeamCity. Vous avez donc le choix entre gérer l'emplacement de vos agents de build ou vous décharger des préoccupations touchant à l'infrastructure pour vous concentrer sur la création d'excellents logiciels.

Principales caractéristiques d'intégration à GitHub

Authentification fluide

TeamCity On-Premises et TeamCity Cloud vous donnent un contrôle total sur l'authentification avec GitHub. Vous pouvez créer automatiquement un nouveau compte lorsqu'une personne se connecte avec GitHub, restreindre l'accès aux membres de votre organisation, gérer les autorisations des utilisateurs de TeamCity indépendamment des rôles GitHub, et plus encore.

Prise en charge native des requêtes d'extraction

TeamCity détecte l'ouverture d'une requête d'extraction GitHub et peut déclencher des vérifications de CI/CD en fonction de plusieurs critères :

  • Noms des branches source et cible.
  • Auteur de la requête d'extraction et son rôle dans votre organisation.
  • Modifications dans des fichiers et des répertoires spécifiques.
  • Texte du message de commit.

Vous pouvez afficher la progression et les résultats des contrôles automatisés à l'intérieur de l'interface utilisateur de GitHub et demander à TeamCity de fusionner automatiquement les requêtes d'extraction si toutes les vérifications se terminent sans erreur.

Rapport d'état

TeamCity fournit des rétroactions à tous les emplacements où vous vous attendez à en recevoir. À l'intérieur de l'interface de TeamCity, vous pouvez consulter la progression actualisée des builds, des tests et des déploiements en temps réel. Il envoie également toute information pertinente à GitHub, ce qui vous permet de toujours connaître l'état de votre requête d'extraction ou de votre commit.

Pour accélérer encore les notifications, TeamCity offre une prise en charge intégrée des alertes dans Slack, dans l'IDE, dans le navigateur et par e-mail, tandis que les plugins TeamCity fournissent toute une série d'options supplémentaires, de Telegram à Discord.

Automatisation des pipelines de CI/CD à tous les niveaux de complexité et de taille

Une personnalisation et un contrôle incomparables

TeamCity est conçu pour s'intégrer parfaitement dans le workflow de développement de toute équipe afin d'en renforcer l'efficacité. Branches de fonctionnalités, branches de versions, requêtes d'extraction, dépôt unique ou plusieurs VCS de différents types, quel que soit votre processus pour livrer de nouvelles fonctionnalités, notre solution peut l'accélérer et le rendre plus agréable.

TeamCity prend en charge tous les langages de programmation, fonctionne sur toutes les plateformes et s'intègre à tous les frameworks de build et de test populaires. Il vous permet d'automatiser votre CI/CD avec l'utilisation de plusieurs déclencheurs de différents types, et de personnaliser dynamiquement les étapes de build, de test et de déploiement en fonction des paramètres définis par des déclencheurs ou définis à n'importe quel emplacement à l'intérieur du pipeline lui-même.

Une fois le build terminé, TeamCity peut fusionner automatiquement les modifications dans la branche cible, enregistrer les numéros de build sous forme de balises Git, mettre à jour l'état du commit ou de la requête d'extraction dans GitHub, publier des artefacts de build dans un registre de conteneur, et bien plus encore. Peu importe la nature de vos projets, TeamCity s'occupe de vos builds !

Des informations de test exploitables

TeamCity comprend mieux vos tests que tout autre outil de CI/CD :

  • En cas d'échec d'un test, TeamCity identifie automatiquement les commits qui ont déclenché la défaillance ainsi que l'utilisateur GitHub responsable.
  • Vous pouvez consulter les détails des tests ayant échoué, notamment les journaux de build, les traces de pile, les artefacts de build et les captures d'écran, et ainsi commencer le débogage plus tôt.
  • L'historique des tests vous aide à identifier les tests non fiables, à voir quels types de modifications cassent généralement le build, à repérer les différences de durée des tests et à identifier le moment précis où un test donné a produit une erreur pour la première fois.
  • Vous pouvez attribuer une enquête sur des tests non fiables à des membres de votre équipe et désactiver l'alerte de cette défaillance en attendant.
  • La couverture de code et l'analyse statique vous aident à détecter les problèmes potentiels dans votre code.

Mieux encore, ces fonctionnalités sont disponibles même si vos tests s'exécutent dans Docker.

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

TeamCity peut-il m'aider dans le cadre d'une migration vers GitHub à partir d'autres VCS ?

TeamCity n'est pas adapté pour effectuer la migration elle-même, mais il peut fournir une expérience de CI/CD ininterrompue pendant la migration. En ajoutant tous les référentiels aux racines VCS de TeamCity, vous rendrez l'ensemble du code disponible pour le processus de build, qu'il se trouve encore dans l'ancien VCS, déjà dans le nouveau ou quelque part entre les deux.

TeamCity est-il meilleur que GitHub ?

TeamCity et GitHub ont des objectifs différents, il est donc inexact de dire que l'un est meilleur que l'autre. TeamCity se concentre sur le pipeline de CI/CD et comporte beaucoup plus de fonctionnalités que GitHub Actions, mais il ne dispose pas des fonctionnalités de contrôle des versions, de révision du code ou de gestion de projets de GitHub.

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

Oui, l'intégration de TeamCity avec GitHub est une fonctionnalité gratuite. Sa version gratuite sur site, TeamCity Professional, peut être utilisée à des fins commerciales sans aucune limitation.

Puis-je tester mon code dans TeamCity sans envoyer de commit vers GitHub ?

Oui, il est possible de tester du code dans TeamCity sans envoyer de commit à GitHub. Pour cela, vous pouvez créer un correctif Git, le mettre en ligne sur TeamCity, puis exécuter un build personnel ou utiliser un plugin d'IDE.