Vous voudrez probablement vous procurer un serveur de développement et, de préférence, un environnement intermédiaire. Personne ne devrait jamais pousser de la production locale à la production, à l'exception de son site Web personnel. Votre processus de déploiement doit uniquement prendre en charge dev-> staging-> prod. Vous voulez probablement une personne responsable de la signature des nouvelles versions - selon l’organisation, il peut s’agir d’un responsable de projet, d’un responsable de l’assurance qualité ou d’un devoir qui tourne toutes les semaines (avec un rappel tangible, par exemple, seule la personne avec le jouet moelleux qui arrive cette semaine) pousser). Cependant, discutez-en d'abord avec votre équipe pour obtenir son adhésion (voir ci-dessous).
Je veux que ce comportement soit puni d'une manière ou d'une autre ou le rende désagréable autant que possible.
Vous pourriez avoir votre suite de tests (vous en avez une, n'est-ce pas?) Inclure un contrôle qui détermine si vous êtes sur un serveur de production et, le cas échéant, envoie un courrier électronique à chaque employé du bureau Looks like $username is testing on prod, watch out
. Peut-être que faire honte à votre collègue serait désagréable. Ou bien, vous pourriez créer des restrictions techniques, telles que l'IP-interdire à votre équipe de regarder les prod (que vous pouvez lever mais que vous devez justifier).
Je ne le recommande pas, cependant, vous ressembleriez au problème, pas à la personne qui teste avec prod et vous pourriez vous rendre très impopulaire auprès des membres de l'équipe qui ne s'en soucient pas.
Ce que vous voulez vraiment, c’est sûrement pas que ce comportement soit puni mais qu’il s’arrête ?
Je les ai forcés / nous à utiliser [...]
C'est bien que vous préconisiez des améliorations du flux de travail, mais il semble que vous ne pensez pas beaucoup à vos collègues et / ou que vous ne bénéficiez pas de leur soutien total. Il est probable que les collègues interagiront à moitié avec le flux de travail, en faisant le minimum nécessaire pour que le code passe en production et en ne suivant pas vraiment l'esprit du flux de travail, ce qui signifiera plus de temps passé à nettoyer. Et lorsque vous passerez de plus en plus de temps à éliminer les résultats d'une interaction inadéquate avec le flux de travail (personne ne s'en soucie, n'est-ce pas?), Tout le monde remettra en question le flux de travail lui-même.
Commencez donc par une conversation.
Découvrez pourquoi cela se produit (la machine de votre collègue est-elle moins performante pour les tests? Votre collègue est-il incertain des branches de ses fonctionnalités ou est-il coincé dans un état d'esprit où les commandes commit et push sont identiques?), Expliquez-nous pourquoi le code non testé laisse tomber sur dev / staging / prod et voyez si vous pouvez faire quelque chose pour changer la raison (votre collègue fera probablement ce que vous voulez si vous venez de rendre plus agréable le test local que si vous venez de le réprimander).
Si vous ne parvenez pas à résoudre le problème et qu'il en résulte véritablement une divergence d'opinion, planifiez une discussion à l'échelle de l'équipe lors de votre prochaine réunion rétrospective, voyez ce que vos collègues font et pensent. Présentez vos arguments, mais écoutez le consensus. Peut-être que votre équipe dit qu'il est acceptable de ne pas tester les correctifs textuels localement, et que vous avez simplement pour règle de ne pas tester de grandes fonctionnalités. Ecrivez dans la réunion et lisez ce que vous décidez collectivement de ce qui est autorisé sur chacun des environnements. Fixez une date dans quelques mois pour l’examiner, peut-être lors d’une rétrospective.