2009-04-01 3 views
0

Мы собираемся перерасти наш веб-сервер и развернем главную страницу на двух балансированных нагрузкой веб-серверах. В настоящее время мы проверили рабочую копию, и всякий раз, когда (ежедневно) мы меняем что-либо, мы обновляем копию. Проблема работы на двух серверах - это, конечно, повышенная вероятность того, что на одном из серверов не будет завершено обновление, что приведет к странному поведению.Как обновить несколько рабочих копий из одного места?

У нас также есть отдельный веб-сервер для внутреннего использования и отдельный сервер базы данных. Вопрос в том, как, если возможно, запустить одну команду (возможно, на сервере администратора) для обновления обеих рабочих копий?

Мы используем подрывную деятельность над SSH.

ответ

1

Вот что мы делаем:

Путь к нашим рельсам-приложение содержит ссылку. При обновлении нашего приложения мы полностью проверяем репо на всех серверах на новое место и выполняем модульные тесты. Когда все процессы обновления успешно завершили свою работу, мы обновляем символическую ссылку - почти одновременно.

Заканчивать http://www.capify.org для развертывания-стратегии такого рода

0

перебором ,,,

почему не имея скрипт на сервере, как:

svn up /var/html/myapp 
ssh [email protected] 'svn up /var/html/myapp' 

тогда все (или менеджер проекта) должен выполнить этот сценарий (удаленно) для обновления производственных серверов.

Но я уверен, что есть более элегантные решения там

0

Просто рабочий каталог сервера слинкован в общедоступное место, что оба сервера указывают. У вас есть только одна рабочая копия, и на нее указывают оба сервера. Тогда вам нужно обновить только 1 место.

+0

На самом деле не будет балансировка нагрузки, то, по крайней мере, не на уровне fs –

+0

Не на уровне файловой системы, нет. Но загрузка веб-сервера по-прежнему будет сбалансирована. – KOGI

Смежные вопросы