Les développeurs ne devraient pas avoir racine sur la production; tout le monde sauf les développeurs est d'accord sur ce point. Mais les développeurs peuvent en quelque sorte avoir leur gâteau et le manger aussi. Je suis quelque peu surpris que personne n'ait explicitement mentionné cela:
Un de mes très petits clients de longue date possède un site Web avec une installation Drupal, plusieurs sites WordPress, un forum SMF et quelques autres petites applications Web aléatoires. Je suis l'administrateur du contrat (et pour des raisons historiques, je mets également à jour / pirate WordPress et SMF si nécessaire) et mon client a son propre contrat de développeurs Drupal. L'environnement est constitué de plusieurs machines virtuelles VMware sur un fournisseur de cloud public.
Les développeurs veulent vraiment avoir un accès root et en ont besoin. C'est leur responsabilité d'écrire les règles de réécriture de nginx pour faire fonctionner tous leurs trucs Drupal personnalisés, par exemple. Mais en aucune façon je ne leur donne un accès root sur le serveur de production, et mon client est d'accord avec moi à ce sujet.
Nous avons donc compromis: ils obtiennent un accès root sur le serveur Web de test (qui est généralement identique à la production à l'exception de son adresse IP et se trouve sur le même cloud). Qui, comme la production, a etckeeper pour que je puisse voir les changements à apporter et les packages installés. Je peux alors soit mettre les changements en production ou leur dire ce qui ne va pas avec ce qu'ils veulent faire. Et s'ils ont vraiment foiré (ils ne l'ont pas encore fait, merci gawd) je peux facilement revenir sur leurs changements.
Ils n'ont aucun accès au serveur de base de données de production; ils n'ont même pas de connexion utilisateur. Seul mon client et moi le faisons.
(L'application Web elle-même, elle se déploie directement avec git, et si elle la casse, elle peut la réparer et expliquer à mon client pourquoi ils devraient continuer à être ses développeurs. Bien que mon client me CC sur un tel e-mail pour que je puisse soit rire d'eux ou facepalm.)