@sergeydurov

Git на продакшин сервере?

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

Думал уже как вордпрещики архивами все делать, но не удобно абсолютно, плюс миграции всеравно нужно накатывать.
Вопрос - как вы обновляете приложение на продакшин сервере и как делаете миграции базы даных без боли?
  • Вопрос задан
  • 2313 просмотров
Пригласить эксперта
Ответы на вопрос 7
  • @developer_as
    Удобен для использования Capistrano. Не могу судить за другие т.к. тесно только работал с этой системой. Версии релизов храняться на сервере и в случае неоходимости можно быстро откатить код. Также при каждом релизе не нужно лезть на сервер и делать пулл.
    Ответ написан
  • HeadOnFire
    @HeadOnFire
    WordPress Evangelist
    Думал уже как вордпрещики архивами все делать

    А вот это щас обидно было! :)

    По делу - используйте автоматический деплой. Сама схема "по уму" выглядит следующим образом:
    - деплоится не мастер, а тег/релиз
    - каждый такой релиз деплоится в отдельную папку
    - тестируете это добро на поддомене
    - если все ок, тогда на проде переключаете сервер на папку нового релиза
    - профит

    При таком подходе получаете очевидные плюсы:
    - на сервер лазить ручками не нужно, обезьяний труд должен быть автоматизирован
    - деплой происходит без downtime
    - у вас сохраняется предыдущее стабильное состояние, в случае проблем с новой версией вы легко переключаете сервер на предыдущую папку, откатываясь таким образом к last stable
    - при желании можно даже a/b тестирование делать
    Ответ написан
  • @karminski
    Разработчик CRM/ERP систем
    Деплой обычно сначала делаю на www-dev, а потом уже www. www-dev перед каждым деплоем полностью синхронизируется с www, включая бд. Соответственно, перед деплоем у тебя 2 абсолютно идентичных проекта. Проверяешь всё на одном, ну а затем - Поехали!
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Вакансии с Моего Круга Все вакансии
Заказы с Фрилансим Все заказы