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 . masterdevrait être / est toujours déployable et developmentc'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àdevelopmentson 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-branchet voit une liste des branchesoriginactivé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-123surdevelopmentleorigin. - 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-123référence au bogue / fonctionnalité # 123 car Ted documente chaque bogue / nouvelle fonctionnalité de notre outil de suivi des problèmes.