Как лучше отправлять с github на production server?
Я тут почитал как народ использует гитхаб в своих разработках сайтов и решил внедрить этот подход в своей работе. Все понятно и красиво, но возник маленький вопрос, который все технично обходят в своих мануалах.
Как ведется разработка мне более и менее понятно. В итоге мы получили готовый продукт и хотим его деплоить на продакшен сервер. Возникает вопрос - это делается просто командой git clone? И в результате на продакшене образуется папка .git?
Или как-то по другому это переносится на продакшен?
нет, никаких git clone (хотя это можно воспринимать как примитивную форму деплоймента). Собираем билд (грубо говоря архив со всем всем всем что нужно, всеми сторонними зависимостями и т.д. что бы распаковать и запустить) и деплоим его. Накатываем миграции, чистим кэши и т.д.
Muhammad: для файлов: держат несколько последних версий, необходимую линкуют в докрут.
для базы: бекап или миграции вниз.
есть полно инструментов для автоматизации этого.
Модно сейчас Continuous_Integration устраивать. Есть бесплатные сервисы wercker.com, https://travis-ci.org/. Такой сервис поймает github_hook после коммита, оттестирует в специфицированном окружении и если тесты пройдут задеплоит stage на production с возможностью отката. В таком конвейере можно разрабатывать на планшете или мобильном телефоне.