Как обновить несколько рабочих копий из одного места? - PullRequest
0 голосов
/ 01 апреля 2009

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

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

Мы используем Subversion поверх SSH.

Ответы [ 3 ]

1 голос
/ 01 апреля 2009

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

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

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

0 голосов
/ 03 апреля 2009

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

0 голосов
/ 03 апреля 2009

Грубая сила ,,,

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

svn up /var/html/myapp
ssh user@host2 'svn up /var/html/myapp'

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...