Workflow Git
Ce document détaille les workflows Git adoptés pour les différents dépôts du projet Berth. Nous utilisons deux approches distinctes selon la nature et la complexité des composants.
Dépôts utilisant GitFlow
Section titled “Dépôts utilisant GitFlow”Les dépôts suivants utilisent le GitFlow complet :
- Agent
- Server
- Front
Schéma GitFlow
Section titled “Schéma GitFlow”Le GitFlow est idéal pour les projets ayant des cycles de release structurés. Il utilise des branches master (ou main), develop, feature/*, release/* et hotfix/*.
gitGraph
commit id: "Initial"
branch develop
checkout develop
commit id: "Setup"
branch feature/A
checkout feature/A
commit id: "Feature start"
commit id: "Feature work"
checkout develop
merge feature/A
branch release/1.0.0
checkout release/1.0.0
commit id: "Version bump"
checkout main
merge release/1.0.0 tag: "v1.0.0"
checkout develop
merge release/1.0.0
branch hotfix/fix-bug
checkout hotfix/fix-bug
commit id: "Fix bug"
checkout main
merge hotfix/fix-bug tag: "v1.0.1"
checkout develop
merge hotfix/fix-bug
Dépôts utilisant GitHub Flow
Section titled “Dépôts utilisant GitHub Flow”Les dépôts suivants utilisent le GitHub Flow :
- Doc
- DevOps
GitHub Flow est un workflow léger et agile, basé sur des branches éphémères qui sont fusionnées directement dans la branche principale après revue.
Schéma GitHub Flow
Section titled “Schéma GitHub Flow”gitGraph
commit id: "Initial"
branch feature/new-ui
checkout feature/new-ui
commit id: "Update styles"
commit id: "Add components"
checkout main
merge feature/new-ui
commit id: "Deploy to prod"
branch fix/config
checkout fix/config
commit id: "Update yaml"
checkout main
merge fix/config
Résumé des choix
Section titled “Résumé des choix”| Dépôt | Workflow | Justification |
|---|---|---|
| Agent | GitFlow | Nécessite une gestion stricte des versions et de la compatibilité. |
| Server | GitFlow | Cycles de release stables et gestion des correctifs critiques. |
| Front | GitFlow | Cycles de développement structurés et releases stables. |
| Doc | GitHub Flow | Mises à jour continues de la documentation. |
| DevOps | GitHub Flow | Approche CI/CD continue, changements souvent atomiques. |
