Présentation
Les stratégies de branchement Git efficaces sont essentielles à la réussite de la livraison de logiciels à grande échelle. Ce module fournit des conseils complets sur la conception et l’implémentation de flux de travail de branche qui prennent en charge la livraison continue, la collaboration d’équipe et l’assurance qualité. Vous allez apprendre à sélectionner et à implémenter le modèle de branchement approprié pour les besoins de votre organisation, que vous travailliez avec de petites équipes agiles ou de grandes organisations de développement d’entreprise.
Pourquoi la stratégie de branchement est importante
Les équipes de développement de logiciels modernes nécessitent des stratégies de branchement qui équilibrent plusieurs préoccupations critiques :
- Vitesse de développement : permettre aux équipes de travailler indépendamment sans se bloquer mutuellement.
- Assurance qualité : maintenir la qualité du code par le biais de processus de révision et de test systématiques.
- Gestion des versions : prise en charge des versions logicielles prévisibles et fiables.
- Atténuation des risques : isoler le travail expérimental et offrir la possibilité de rétablissement.
- Exigences de conformité : respectez les normes d’audit et de réglementation pour la gestion des changements.
Cadre de stratégie de gestion des branches d’entreprise
Considérations stratégiques relatives à la sélection du modèle de branchement :
| Facteur | Impact sur la stratégie | Questions clés |
|---|---|---|
| Taille de l’équipe | Complexité de la coordination et fréquence de fusion | Combien de développeurs travaillent simultanément ? |
| Cadence de publication | Durée du cycle de vie et de l’intégration de la branche | À quelle fréquence déployez-vous en production ? |
| Exigences de qualité | Examiner les processus et tester l’intégration | Quel niveau de portes de qualité sont nécessaires ? |
| Besoins en matière de conformité | Pistes d’audit et flux de travail d’approbation | Quelles sont les exigences réglementaires applicables ? |
Les propres équipes de développement de Microsoft démontrent ces principes à grande échelle, en utilisant GitHub Flow pour les services nécessitant un déploiement rapide et des approches plus structurées pour les produits d’entreprise nécessitant des cycles de test étendus.
Objectifs d’apprentissage complets
Une fois ce module terminé, vous allez maîtriser les stratégies de branchement essentielles et être en mesure de :
Conception de branchement stratégique :
- Évaluez et sélectionnez les flux de travail de branchement Git appropriés en fonction de la taille de l’équipe, de la cadence de publication et des exigences de qualité.
- Concevoir des stratégies de branchement qui prennent en charge la livraison continue tout en conservant les normes de qualité et de conformité du code.
- Implémentez des stratégies de branchement à l’échelle de l’entreprise et des infrastructures de gouvernance.
Compétences pratiques en matière d’implémentation :
- Implémentez des flux de travail de branche de fonctionnalités avec des stratégies d’isolation, d’examen et d’intégration appropriées.
- Configurer et gérer GitHub Flow pour les équipes nécessitant un déploiement rapide et continu.
- Exécutez des flux de travail de duplication pour des projets open source et une collaboration d’équipe distribuée.
- Établissez les restrictions de protection et de fusion de branche qui appliquent les critères de qualité et les exigences d'examen.
Expertise de la plateforme :
- Tirez parti des fonctionnalités avancées de branchement d’Azure Repos pour les environnements de développement d’entreprise.
- Intégrer les stratégies de gestion de branches avec les pipelines CI/CD et les cadres de test automatisé.
- Surveillez et optimisez les flux de travail de branchement pour la productivité et la vitesse de livraison de l’équipe.
Auto-évaluation : évaluer votre préparation de branchement
Principes fondamentaux de Git
- [ ] Comprenez-vous les principes de base git tels que les validations, les branches et les fusions ?
- [ ] Connaissez-vous les concepts de contrôle de version distribué ?
- [ ] Savez-vous comment résoudre les conflits de fusion ?
Expérience de développement d’équipe
- [ ] Avez-vous travaillé dans des équipes à l’aide de référentiels partagés ?
- [ ] Comprenez-vous les processus de revue de code et les pull requests ?
- [ ] Connaissez-vous les concepts d’intégration continue ?
Contexte organisationnel
- [ ] Votre équipe a-t-elle des planifications de mise en production spécifiques ou des exigences de conformité ?
- [ ] Travaillez-vous avec des équipes distribuées entre les fuseaux horaires ?
- [ ] Devez-vous coordonner avec plusieurs équipes ou contributeurs externes ?
Prérequis et préparation
Connaissances essentielles :
- Principes fondamentaux de DevOps : Compréhension des principes DevOps, de l’intégration continue et des concepts de livraison.
- Principes de base du contrôle de version : Maîtrise des principes de contrôle de version (examen détaillé fourni et avantageux).
- Expérience de développement logiciel : arrière-plan dans les environnements de développement logiciel basés sur l’équipe.
Expérience recommandée :
- Ligne de commande Git : Connaissance de base des commandes et concepts Git.
- Flux de travail de demande de tirage (pull request) : expérience avec les processus de révision de code.
- Sensibilisation CI/CD : compréhension des processus de génération et de déploiement automatisés.
Configuration requise :
- Installation de Git : vérifiez que Git est installé et configuré sur votre environnement de développement.
- Compte GitHub : Accès à GitHub pour des exercices pratiques avec des flux de travail de branchement modernes.
- Accès Azure DevOps : accès de l’organisation pour les exercices Azure Repos (peut être créé pendant le module).