Script de mise en production sur serveur mutualisé
2 02 2010
Mon projet étant bientôt prêt, j’ai préparé la semaine dernière un script de mise en production du site, afin d’automatiser au maximum cette procédure pour la rendre plus simple, mais aussi plus sûre. N’ayant qu’un hébergement mutualisé chez 1and1, je ne dispose pas de connexion SSH, ce qui limite un peu les actions disponibles.
J’ai choisi de faire ce script avec Ant, tout simplement parce que je le connais pour l’avoir utilisé dans mes jobs précédents et qu’il me convient parfaitement. Il s’intègre de plus très bien dans Eclipse, que j’utilise pour développer, à condition d’avoir installé le plugin adéquat, soit l’environnement JDT (Java Development Tools), si on a choisi comme moi, une installation Eclipse PDT (Php Development Tools) qui n’inclue pas d’utilitaires pour Java. Car Ant tourne à l’aide de Java.
Que fait ce script?
Avec ce script, j’ai voulu automatiser 3 opérations : la sauvegarde, la construction du projet à déployer et le déploiement.
La sauvegarde
Dans cette “target”, je fais simplement un export des fichiers sources sur le serveur de production. Etant contraint par mon type d’hébergement, je ne peux que passer par une tâche ftp pour les récupérer. Ensuite, je créé une archive compressée à la date du jour, puis je supprime les fichiers importés.
Pour les mêmes contraintes, il n’est pas possible de se connecter à la base de données. On ne peut donc pas automatiser un dump de la base. Il faut donc le faire à la main… Ce n’est ni long, ni compliqué à faire, c’est juste qu’il ne faut pas l’oublier.
Cette étape peut être relativement longue en fonction du nombre de fichiers et de leur taille. Mais on peut le faire un peu à l’avance.
La construction du projet
Cette étape consiste à générer un ensemble de fichiers destinés à être copiés sur le serveur. Ayant plusieurs projets CVS, je récupère le projet avec les sources en environnement de dev, que je surcharge avec celui contenant les fichiers de l’environnement de production.
Le déploiement
Cette étape s’effectue en 2 fois, là aussi pour cause d’impossibilité de connexion à la base de données via le script.
Dans un premier temps, on copie un fichier .htaccess, permettant de renvoyer toutes les requêtes HTTP vers une page d’attente, et on copie les fichiers construits à l’étape précédente (sauf le .htaccess) sur le serveur de production.
Ensuite, au besoin, il faut faire la mise à jour de la base de données à la main.
Dans un second temps, on copie le .htaccess de l’environnement de production qui n’a pas été copié précédemment pour rétablir l’accès au site.
Y’a surement de meilleures méthodes, mais celle-ci fonctionne pour moi pour l’instant.









[...] important de mon script de mise en production, le tag des sources dans le repository CVS. CVS est un gestionnaire de sources, qui permet de [...]
Merci d’avoir un blog interessant