2 votes

Exécution de correctifs et de versions ultérieures pour les applications Web

Tout d'abord, mon problème (simplifié) en quelques mots :

Le cycle de publication que je pratique au travail est le suivant : à chaque publication, nous effectuons actuellement une copie/déploiement complet de l'application Web. Pour faire simple, nous générons une archive, nous l'envoyons par SCP sur le serveur de production et nous l'installons. C'est aussi simple que cela. La pile technologique est LAMP, il n'y a donc pas d'étapes de compilation de code pour le moment.

Le problème est que cette archive devient volumineuse et que nous devons la déployer sur de nombreux serveurs. Bien qu'il s'agisse d'un processus très fiable, les frais généraux et le temps nécessaires pour effectuer ce déploiement s'accumulent.

Ce que je veux faire, c'est réaliser des versions delta/patch pour cette application web LAMP qui ne nécessite pas le déploiement complet de l'archive.

J'utilise SVN pour mon VCS, et je ne veux pas que mes applications déployées soient des copies de travail SVN. J'ai expérimenté l'utilisation de patch (outil CLI linux) et de fichiers de patch, mais cela présente des trous dans le processus. Par exemple, Parcheando le même fichier plus d'une fois, il y a des frais généraux dev/ops pour suivre quel(s) fichier(s) ont été patchés, de quelles versions à quelles versions, sur le site de production (ce qui devient rapidement compliqué lorsque plusieurs patches séquentiels sont effectués).

En fin de compte, j'ai besoin d'une méthode fiable pour faire une version delta/patch pour une application web LAMP, qui ne nécessite pas une copie de travail SVN sur le serveur web de production.

Comment les autres résolvent-ils ce problème ? Utilisez-vous simplement rsync avec une option de suppression, et évitez les fichiers patch ?

1voto

Evan Anderson Points 140581

J'utiliserais rsync pour déployer à partir d'une svn export du HEAD du référentiel pour mettre à jour vos serveurs d'application. Rsync a fait ses preuves et est prêt à fonctionner sans aucun travail de votre part. En fonction du nombre de serveurs sur lesquels vous devez effectuer le déploiement, vous pouvez envisager les solutions suivantes mrsync si la taille des fichiers commençait à devenir vraiment importante et que vous vouliez déployer rapidement sur un grand nombre de machines via multicast (probablement trop pour vos besoins, à moins que vous ne disposiez d'un système de gestion de l'information). lot de serveurs ou un lot de données dans un delta donné, mais c'est certainement une option).

1voto

Devin Ellis Points 21

Je ne veux pas que mes applications déployées soient des copies de travail SVN.

Mais pouvez-vous convenir juste utiliser SVN sur la production et avoir WC en dehors du webroot ? Dans ce cas, vous pouvez mettre à jour le WC à la demande (moins de trafic) et exporter le WC vers l'espace web.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X