2010-04-02 4 views
2

Nous parlons actuellement de déployer un site Web via rsync. Cependant, lors de la synchronisation, l'application est laissée dans un état incohérent, car certains fichiers peuvent déjà être synchronisés alors que d'autres restent avec l'ancienne version. Comment les gens traitent-ils ce problème? Je suppose que le même problème existe lors du déploiement via svn/git/cvs. Devrais-je simplement fermer le site, rsync, et ouvrir à nouveau? Ou les gens ignorent-ils simplement ce problème d'incohérence?Déployer avec rsync (ou svn, git, cvs) et ignorer un état incohérent pendant le déploiement?

+0

Non relatif à la programmation - appartient sur superuser.com? –

Répondre

6

Utilisez un déploiement en deux étapes. rsync dans un répertoire de test, idéalement, testez-le, puis échangez les déploiements de production et de test. La première fois que vous effectuez cette opération, vous n'avez peut-être pas de répertoire de test prêt à l'emploi, mais vous pouvez résoudre ce problème simplement en effectuant un rsync de la production à l'essai.

+0

Comment réaliseriez-vous un tel échange? Idéalement, cela ne devrait pas nécessiter de redémarrage du serveur Web. La seule façon de l'imaginer est de créer un lien symbolique entre la racine du document et l'environnement de production actuel. Ensuite, le commutateur serait de déplacer le lien symbolique. Est-ce possible sans supprimer d'abord le lien? – zedoo

+0

Cela ne fonctionnera probablement pas très bien, voire pas du tout. Le meilleur moyen d'échanger deux serveurs Web est l'équilibrage de charge. Laissez les deux serveurs s'exécuter simultanément, supprimez l'ancien de la boucle et fermez-le lorsqu'il devient inactif (fin de la dernière réponse). Bien sûr, cette technique a des implications importantes sur la façon dont vous effectuez les mises à niveau. Par exemple, vos mises à niveau de base de données doivent avoir lieu à l'avance pendant que l'ancien système est en ligne, et doivent être bénignes du point de vue de l'ancien système. –

+0

Ok, je vais réfléchir si cela vaut l'effort de mise en œuvre. Vous ne pouvez pas recommander un livre sur le sujet pouvez-vous? – zedoo

Questions connexes