Нажмите обновленный код для установки - PullRequest
0 голосов
/ 17 августа 2011

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

, например, /

/webbase/client1
/webbase/client2
/webbase/client3
...

В отличие от каждой установки, имеющей собственный файл конфигурации,Код такой же.Что вы считаете лучшим способом автоматической загрузки обновлений для всех установленных экземпляров?В настоящий момент все приложение работает с базой данных и закодировано в PHP

1 Ответ

1 голос
/ 17 августа 2011

Первое небольшое предположение: Ваш "веб-приложение" является чисто кодом или главным образом кодом. Ваше «веб-приложение» не изменяется само, или изменения ограничены внешними ресурсами. Ваше "веб-приложение" не меняет дизайн базы данных во время обновлений.

Самый простой ответ - настроить dcvs, и одной командой вы отправите весь код клиентам. В качестве побочного эффекта вы получите возможность откатить обновление, если это необходимо. В современных cvs нет проблем с установкой нескольких репостов, которые вы обновляете, и добавление новых также тривиально. Настройка dcvs также не является проблемой.

Таким образом, на компьютере разработчика (или компьютере, который посещает код непосредственно перед отправкой обновления клиентам) вы настраиваете cvs, а затем с помощью одной команды внедряете изменения в клиентах. Однако это приведет к статическим изменениям (и не приведет к обновлению базы данных!), Поэтому для выполнения динамических изменений после простого копирования изменений вам потребуются дополнительные сценарии (и те, которые вы также можете поместить в репо, чтобы они также обновлялись!). Затем настройте серверы репозитория и dcvs на клиентском компьютере. И вы готовы начать развертывание.

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

Прокомментируйте, если вам нужны какие-либо разъяснения.

...