Централизованное обновление CMS и БД, как грамотнее реализовать?
Планирую создать несколько вебсайтов на самописной CMS на Laravel. Хотелось бы с одной админ панели обновлять модули CMS и структуру БД (mysql) всех сайтов. Как это грамотнее реализовать? Хотелось бы как можно более подробно. Спасибо большое!
Ну БД не проблема подключать, можно описав в конфиге подключения к БД.
Со структурой не понятно, но логичнее через гит раскидать копии файлов и компосером подтянуть все нужные вендоры.
одно дело обновить модуль через компосер и накатить миграции, другое это протестировать систему с новой версией модуля, ведь может возникнуть ситуация что модуль может вызвать неработоспособность сайта из за конфликта с другими модулями, кривой миграции или кода, т.д. Что думаете по этому поводу?
diamond: что фигней страдаете, лучше и быстрее руками сделать. даже если это 10 сайтов будет.
если больше, то вы один все равно с 20 сайтами не справитесь
Обновить все и протестировать.
вообще у меня в проектах заведено делать два домена, www и dev
на деве всегда полная копия продакшна. гит хуками обновляю бд с продакшна, заливаю изменения из репы и тестирую, руками. на автотестов сил не хватает пока что. если все ок, обновляю руками продакшн
Максим Гречушников вы наверно меня не поняли, я согласен если обновление происходит разработчиком на локальном сайте, даже и через амдинку, но результат бага не так критичен, обновили -> протестили (ручками, автотесты) -> выкатили на рабочий если все ок.
НО, на рабочем сайте обновлять из админки, рискованно, не находите?
я как раз и выступаю против обновления через админку. кстати только вот сейчас, проект с 25 тыс человек в сутки при обновлении продакшна упал. при чем сначала запустился. пустили людей. и упал. битрикс обновился неудачно.
сделать апи для управления сайтом и сделать отдельное место которое бы его юзало
для бд если это просто апдейт структур то есть стандартный механизм миграций в том же ларавеле