Nous avons quelqu'un (appelons-le Ted) qui est chargé de tester les nouvelles fonctionnalités et les corrections de bugs.
Nous utilisons Git et GitHub . master
devrait être / est toujours déployable et development
c'est là que nous validons / fusionnons les nouvelles fonctionnalités ou corrections de bugs, mais seulement après qu'elles ont été testées par Ted.
Le projet est en PHP.
J'aimerais que le processus de test se déroule comme suit:
- Un développeur veut travailler sur une nouvelle fonctionnalité (disons que la fonction / bug # 123 comme Ted documenté dans le suivi des problèmes), alors il tire
origin/development
àdevelopment
son dépôt local et crée une nouvelle branche (disonsissue-123
) à partir de là. - Une fois satisfait de son travail, il s'engage et pousse sa nouvelle branche vers
origin
. - Ted se connecte à
test.ourproject.com/choose-branch
et voit une liste des branchesorigin
activées et choisit de s'allumerissue-123
(cela devrait être faisable via la page Web). Il continue ensuitetest.ourproject.com
, teste l'enfer de l'application Web (il est vraiment impitoyable) et après quelques allers-retours avec le développeur, il est satisfait de la fonctionnalité. - Ted dit le développeur qu'il peut fusionner
issue-123
surdevelopment
leorigin
. - Rincez et répétez.
Pour la troisième étape, je pourrais pirater quelque chose qui fait le travail (afficher et changer de branche à partir d'une page spécifique), mais je pense que ce que j'ai décrit est un modèle très courant.
Ma question est donc la suivante: s'agit -il d'un bon flux de travail / durable / maintenable pour la branche? Pouvez-vous sauvegarder votre réponse en citant quelques exemples d'autres projets suivant ce workflow?
issue-123
référence au bogue / fonctionnalité # 123 car Ted documente chaque bogue / nouvelle fonctionnalité de notre outil de suivi des problèmes.