Как я могу использовать VCS для своих сайтов?
У нас небольшая компания, и мы разработали собственную CMS на PHP/MySQL. Код хранится в локальных файлах и в базе данных.
Мы хотели бы иметь возможность обновлять код CMS на серверах наших клиентов. Этот процесс должен быть полуавтоматическим, когда мы "публикуем" обновление, код заменяется на сервере клиента и в базе данных.
Я думал об использовании Bazaar в сочетании с Bazaar Upload. Это позаботится о файлах. Но как насчет базы данных? Есть ли уже стандартный метод или я должен загрузить файл.sql, который устанавливается при входе пользователя в CMS?
Заранее спасибо за ваши предложения!
2 ответа
Используйте комбинацию SVN/SVN и Cron
используйте установочный пакет (.rpm,.sh,.deb, что угодно) и настройте задание cron для запуска вашего скрипта обновления
UML:
#!/bin/sh
fetch $version
if(version > current_version); do
cd /path/on/client/server
svn update
/path/on/client/server/update_script.sh
done;
где update_script.sh позаботится обо всем, что вам нужно (sql,cron, файлы, сертификаты, ...)
Второй вариант
Вы можете использовать что-то вроде фальшивой работы cron
В Администрировании вы можете создать функцию "Автообновление", которая может быть вызвана кнопкой / ссылкой или таймером. Таймер активируется при запуске скрипта автообновления после входа в систему администрирования CMS.
Простая проверка времени с момента последнего обновления и проверка загрузки файлов, запуск сценариев.sql или чего-либо еще.
Для такого рода вещей я рассматриваю liquibase, но для его запуска требуется java, поэтому вам нужна либо java на сервере, либо, возможно, на машине, с которой вы запускаете развертывание.