Intégration des systèmes de contrôle de version dans TeamCity

Le contrôle de version est au cœur même de tout pipeline de CI/CD. C'est pourquoi TeamCity s'intègre en toute simplicité avec tous les principaux systèmes de contrôle de version (et plusieurs autres). Que votre code soit stocké dans Git, Mercurial, Perforce, Subversion, Team Foundation (TFVC) ou une combinaison de systèmes de contrôle de version, vous pouvez utiliser TeamCity pour créer des workflows souples et puissants afin de générer, tester et déployer votre logiciel automatiquement.

Une CI pour les générer tous

Votre code réside-t-il dans un référentiel unique ou est-il réparti sur plusieurs systèmes de contrôle de version de différents types ? Vos référentiels sont-ils hébergés dans le cloud ou conservez-vous tout en interne ? Quels que soient vos systèmes VCS locaux et hébergés, TeamCity génère efficacement les builds de vos applications.

Accélérez votre productivité

TeamCity prend en charge tous les workflows de développement imaginables et vous permet de générer exactement ce dont vous avez besoin, quand vous en avez besoin. Vous pouvez générer chaque requête d'extraction, lancer le pipeline lorsque quelqu'un envoie un commit sur une branche spécifique, déclencher un build lorsqu'un utilisateur spécifique modifie des fichiers dans un répertoire donné, et bien plus encore.

Ne réinventez pas la roue

Avez-vous déjà voulu tester un nouveau code dans un système de CI sans envoyer de commit ? Fusionner automatiquement des « brouillons » de requêtes d'extraction ? Ou étiqueter des commits Git appartenant aux versions de publication de votre application ? Arrêtez d'écrire vos propres scripts pour automatiser des routines concernant le VCS. TeamCity prend automatiquement en charge tous ces scénarios !

Prise en charge des normes du secteur d'activité

TeamCity s'intègre à tous les principaux systèmes de contrôle de version et services d'hébergement VCS utilisés dans le développement logiciel moderne.

Types de VCS

  • Azure DevOps (TFVC)
  • Subversion
  • CVS et autres

TeamCity fournit une approche commune pour travailler avec tous les types de référentiels et de services de stockage de code. Vous pouvez donc vous consacrer à la création d'excellentes applications au lieu de chercher à connaître les spécificités de chaque service particulier.

Fonctionnalités essentielles de TeamCity pour l'intégration au VCS

Prise en charge de plusieurs VCS

Il n'est pas rare de combiner du code stocké dans plusieurs systèmes de contrôle de version. Vous pouvez travailler avec une ancienne base de code, ou les diverses parties de votre système requièrent différentes fonctionnalités de contrôle de version ou être encore en pleine migration entre deux VCS. Quelle que soit la raison, TeamCity accepte le code source de tous vos référentiels dans tous vos systèmes de contrôle de version pour créer un build unique.

Déclencheurs de build adaptables

La plupart des pipelines de CI/CD comportent plusieurs étapes, depuis les vérifications initiales de la branche personnelle d'un développeur jusqu'à une suite complète de tests de régression lors de la fusion vers la branche principale, avant de pouvoir étiqueter une version candidate.

TeamCity vous permet de configurer plusieurs chaînes de build avec différents déclencheurs dans un même projet. Contrôlez l'utilisation des ressources de build en définissant des déclencheurs basés sur l'auteur du commit, le nom de la branche, la requête d'extraction ou les fichiers modifiés (entre autres), ou utilisez des hooks de commit pour surveiller les modifications dans les dépôts.

Rapports d'état pour les commits et les requêtes d'extraction

Pour une expérience de développement optimale, configurez TeamCity afin qu'il s'exécute en toute fluidité en arrière-plan, pour surveiller les modifications apportées à vos dépôts, déclencher des builds et en communiquer le résultat dans le contexte de votre système d'hébergement VCS. Utilisez l'éditeur d'état des commits pour indiquer la progression des builds en temps réel et afficher les résultats des builds et des tests directement à partir de GitHub, GitLab, Bitbucket ou Azure DevOps.

Fusion automatique des modifications

La fusion automatique offre de multiples avantages pour les personnes qui développent des modifications dans des branches de fonctionnalités avec Git ou Mercurial. Maintenez les branches de fonctionnalités à jour et minimisez les conflits en fusionnant régulièrement les modifications de la branche principale. Une fois les modifications prêtes, fusionnez automatiquement les modifications d'une branche de fonctionnalités vers la branche principale, sous réserve de conditions définies (telles que la réussite des builds).

Intégration du suivi d'incidents

Que vous déboguiez des tests en échec ou que vous mettiez à jour des notes de version, pouvoir consulter les détails des tickets référencés dans les messages de commit n'a pas de prix. TeamCity s'intègre aux outils de suivi des tickets fournis par les plateformes d'hébergement VCS et les outils autonomes de gestion de tickets. Il peut ainsi fournir des informations contextuelles sur les problèmes dans l'interface utilisateur de TeamCity et convertir les identifiants de tickets en liens directs.

Authentification des utilisateurs avec la fonctionnalité SSO

L'utilisation des outils adaptés à votre travail ne doit pas entraîner de surcharge de travail administratif. TeamCity prend en charge l'authentification forte des utilisateurs via votre service d'hébergement VCS, et offre ainsi une expérience d'utilisation fluide tout en simplifiant les tâches informatiques des admins.

Les workflows de développement logiciel varient autant que les personnes qui les créent. Monorepo ou polyrepo ; branches de fonctionnalités, branches de versions ou requêtes d'extraction ; serveurs hébergés dans le cloud ou sur site dans différentes régions géographiques et réglementaires ; suites de tests exécutées en série ou en parallèle ; limites de polling pour les plateformes hébergées dans le cloud et contraintes d'accès… la liste est longue. Quels que soient vos processus et vos plateformes, l'interface utilisateur intuitive de TeamCity vous permet de créer un pipeline CI/CD adapté à vos besoins et d'enregistrer votre configuration sous forme de code.

FAQ : L'intégration CI/CD de TeamCity avec VCS

TeamCity peut-il générer du code distribué entre plusieurs VCS ?

TeamCity peut générer des projets dont le code source est stocké dans Git, Perforce, Mercurial, SVN et d'autres référentiels, y compris des solutions d'hébergement cloud.

TeamCity prend-il en charge les requêtes d'extraction et de fusion ?

TeamCity prend en charge les requêtes d'extraction et de fusion dans GitHub, GitLab, Azure DevOps et Bitbucket Server. Il dispose également d'un déclencheur Perforce Shelve pour traiter les modifications dans les fichiers « shelved » des listes de modifications Perforce.

Les intégrations VCS de TeamCity sont-elles des fonctionnalités gratuites ou payantes ?

Toutes les intégrations VCS sont disponibles dans toutes les versions de TeamCity, y compris la version gratuite auto-hébergée. TeamCity Cloud propose une période d'essai gratuite de 14 jours.

Puis-je générer mon code dans TeamCity sans envoyer de commit vers un VCS ?

TeamCity dispose de plugins d'IDE pour les IDE basés sur IntelliJ et Visual Studio. Ils vous permettent de générer votre code sans envoyer de commit. Cela s'avère particulièrement intéressant si l'ensemble de votre développement se déroule dans une seule branche, ce qui est souvent le cas pour le développement de jeux, par exemple.