Ceci est en quelque sorte lié à ma question de sécurité here. Est-ce une mauvaise idée d'utiliser un référentiel hg/mercurial pour un site web en direct? Si oui, pourquoi?Utilisation du référentiel hg en tant que site Web
En outre, nous avons des installations de développement, de test et de production de notre site Web, comme dev.example.com
, test.example.com
et www.example.com
. Si c'est une mauvaise idée d'utiliser un référentiel pour un site Web en direct/production, serait-il acceptable d'utiliser un référentiel hg pour les sites de développement et de test?
Je suis également préoccupé par la facilité de déploiement. Nous avons des collègues techniques et moins techniques qui travailleront avec le site. Les techniciens (ingénieurs logiciels) n'auront aucun problème à travailler avec la ligne de commande ou TortoiseHG. Je suis plus préoccupé par les gens moins techniques (concepteurs de sites Web). Ils ne seront pas à l'aise de travailler sur la ligne de commande, et peuvent même trouver TortoiseHG intimidante. Ces collègues téléchargent principalement .css
des fichiers et des images sur le serveur. Je souhaite que ces fichiers (au moins les fichiers .css
) soient sous contrôle de version, mais je souhaite que cela soit aussi transparent que possible pour les membres de l'équipe non technique.
Quelle est la meilleure façon d'y parvenir?
Edit: Notre 'site' est en fait une configuration CMS multi-site avec un référentiel principal et plusieurs subrepositories. La maquette de la structure du référentiel:
/root [main repository containing core files and subrepositories]
/modules [modules subrepository]
/sites/global [subrepository for global .css and .php files]
/sites/site1 [site1 subrepository]
...
/sites/siteN [siteN subrepository]
ingénieurs logiciels travailleraient dans les root
, modules
et sites/global
dépôts. Les personnes moins techniques (concepteurs de sites Web) ne travailleraient que dans les sous-dépôts site1
... siteN
.
J'avais prévu d'autoriser la plupart des utilisateurs 'pousser 'sur le site' dev', mais autoriser seulement quelques administrateurs à pousser vers les sites 'test' et' live'. Cela change-t-il votre réponse? – Tex
@Tex: Non, pas vraiment. Considérez ceci: Vous faites en sorte que le contrôle de votre source soit plus «risqué» à utiliser. Les gens ont besoin de penser 'okay, non seulement est-ce prêt pour le commit, mais est-il prêt pour le déploiement de dev? Il est pertinent dans les endroits où plus d'un 'dev' peut être testé, et d'autres scénarios similaires. Je m'en tiens à la pensée que vous voulez que votre contrôle de source soit «facile» à utiliser, et que ce déploiement soit une action «séparée» (peut-être que je suis partial ici, parce que c'est quelque chose sur lequel je travaille). Mes opinions, FWIW. –
Merci d'en avoir parlé avec moi. J'avais considéré certains de ces points. J'ai également envisagé de mettre en place un site sandbox/développeur-test pour chaque développeur sur notre serveur web (là encore, chaque site étant un référentiel hg). Ensuite, je pourrais permettre à chaque développeur/concepteur de «pousser» sur son site sandbox pour tester et autoriser seulement les administrateurs à pousser 'dev',' test' et 'live'. J'ai du mal à trouver un flux de travail que les non-techniciens peuvent facilement suivre. – Tex