Nous utilisons le CMS ExpressionEngine (php) pour créer des sites Web. Pour chaque site, nous mettons en place un référentiel subversion et validons l'installation EE ainsi que tous les modèles personnalisés, images, javascript, etc. qui sont utilisés. Inclus dans le référentiel est le fichier contenant toutes les variables d'environnement et le fichier .htaccess.maintien des différences de configuration entre les environnements de développement et en direct lors du déploiement à partir de SVN
Nous avons un serveur de développement avec une copie de travail du référentiel mis à jour via post-commit que nous utilisons pour développer. Lorsque nous sommes prêts à publier, nous créons une branche dans subversion, apportons les modifications nécessaires à l'environnement de production, marquons le numéro de version, exportons le référentiel, le téléchargeons dans un nouveau répertoire sur le serveur live et symlink les fichiers. Une restauration est aussi simple que de revenir à la version précédente.
Le problème est cette étape où nous devons modifier les variables d'environnement qui doivent être différentes pour les serveurs de développement et de production. C'est un truc comme (dé) commenter les règles htaccess qui redirigeraient vers les mauvais endroits, en remplaçant les clés google map API parce que les domaines sont différents, en exécutant des scripts qui minimisent le javascript dans un fichier obfusqué pour garder la taille et les connections http La question est de savoir comment cela pourrait-il être plus automatisé? Nous aimerions que la procédure de libération soit la plus stricte possible. Je connais l'existence d'outils tels que Capistrano et Make mais je ne sais pas comment je pourrais les amener à modifier tous les fichiers nécessaires ... comment organiseriez-vous une telle chose? Est-ce que cela vaut la peine de passer du temps à automatiser quand cela arrive peut-être une fois toutes les deux semaines?
Je pense que nous allons utiliser une variante sur cette réponse. Au lieu d'utiliser $ _SERVER ['HTTP_HOST'], nous allons probablement utiliser apache mod_env et getenv() de php ... alors avoir des valeurs différentes pour la variable dans .htaccess .htaccess-dev comme vous l'avez mentionné. tout ce qui reste est de monter quelque chose dans notre makefile pour minimiser le javascript et autres. –