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

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

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

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

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

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

Сразу оговорюсь, я в этой теме не прошареный, возможно я что-то неправильно понял или объяснил. И если есть возможность конечно дайте пожалуйся ссылку на то как это можно все организовать.
  • Вопрос задан
  • 3184 просмотра
Решения вопроса 1
dmitriylanets
@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, иначе вы рискуете засветить то, что видно быть не должно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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