Как я могу использовать 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 на сервере, либо, возможно, на машине, с которой вы запускаете развертывание.

Другие вопросы по тегам