Как правильно собирать сайт с помощью git?

Есть сайт на обычном хостинге. Если происходят какие-то правки и изменения, то всё заливается по FTP сразу на живой сайт. Каждый раз при изменениях приходиться компилировать например .styl файлы в .css, а затем сжимать и заливать на хостинг. Хотелось бы автоматизировать все эти процессы. Попробовал почитать на эту тему и вынес несколько вопросов на которые не нашел пока ответ для себя:

1. Пришел к такой схеме работы. Разработчик копирует из репозитория себе на локальную машину исходники, правит что-то и отправляет изменения допустим в специальную тестовую ветку в git, из неё затем потом исходники копмилируются и заливаются на тестовую версию сайта. Разработчик постарше смотрит что все нормально, тестовую ветку git копирует в мастер ветку и из неё собирается сайт и копируется уже на нормальную версию сайта. Правильный ли такой подход работы?

2. На сколько я понимаю обычно хостинга может не хватить для таких манипуляций. Нужно ли в этом случае перейти на какие-то VPS/VDS решения?

3. Статьи которые я находил были либо достаточно староваты или использовали разные инструменты для сборки. Какие лучше использовать инструменты для сборки сейчас? Сайт работает на обычно php/js.

4. Как работать с БД в этом случае?

Сразу оговорюсь, я в этой теме не прошареный, возможно я что-то неправильно понял или объяснил. И если есть возможность конечно дайте пожалуйся ссылку на то как это можно все организовать.
  • Вопрос задан
  • 3153 просмотра
Решения вопроса 1
@dmitriylanets
1. правильный подход. gitflow вам в помощь
2. обычно сервер посредник может это делать. Например codeship.io (100 деплоев в месяц бесплатно), можно установить свой сервер (VPS/VDS) и настроить Jenkins,TeamSity,PhpCI
3. есть phing который может автоматизировать рутинный операции (подготовка очистка каталогов,миграции,js-css min и т.д.)
4. через миграции, если нет таковых есть сторонние https://phinx.org, также в комплекте orm еть инструмент миграций например у Propel2, на крайняк в том же phing есть миграции
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@wwarlock
Если к серверу есть доступ через SSH (а у большинства хостеров он есть), то не нужны никакие посредники.
Ставите гит и он прекрасно живёт внутри домашней папки даже.
То есть рутовые права не нужны чтобы гит поставить.
Ну а репозиторий гита - это тоже просто папка.
В принципе, наверное можно поискать и возможно есть способы организовать доступ к репозиторию и через фтп.
Кстати, как вариант, вы можете примапить ФТП как сетевой диск к локальной машине.
Тогда на удаленной машине даже гит ставить не надо, все можно делать на локальной машине.
Во всяком случае, в линуксе это делается без проблем.
Ответ написан
@AndreyMyagkov
Каждый раз при изменениях приходиться компилировать например .styl файлы в .css, а затем сжимать и заливать на хостинг. Хотелось бы автоматизировать все эти процессы.


Для сборки фронтенда используйте gulp
Ответ написан
seregamorph
@seregamorph
В вашем вопросе явно не указано, каким образом собранные сорцы будут выкладываться на хостинг (в новой схеме).
Просто на всякий случай уточню: если вдруг деплой будет делаться средствами git-репозитория (на хостинге будет клон репозитория), не забудьте в настройках сервера (apache, nginx, etc.) запретить доступ к директории .git через http, иначе вы рискуете засветить то, что видно быть не должно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы