@hebrian_vasyl
Веб-разработчик

(git) Как организовать работу локальной и production версии сайта?

Здравствуйте.
Нужна помощь в настройке работы с сайтом.

Сейчас сделано так:
1. Развернул виртуальную машину VirtualBox c консольной CentosOS, настроил там вебсервер.
2. На компе стоит Windows и редактор phpStrom, установлено соединение c виртуальным сервером. Все изменения автоматом загружаются на локальный сервер.
3. Есть аккаунт на gitlab.com, куда я выгружаю все изменения с локального сервера.
4. На продакшине (site.com) делаю git pull с gitlab.com

Как можно улучшить этот процесс?
Хочу еще сделать бета домен (напр. beta.site.com), сначала туда выгружать новый функционал, тестировать, показать заказчику и уже потом выгружать все на продакшн.

Какие можно почитать полезные статьи?
  • Вопрос задан
  • 3337 просмотров
Пригласить эксперта
Ответы на вопрос 3
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Я уже четвёртый раз отвечаю на подобный вопрос:

Собсно, как делаем мы - toroid.org/ams/git-website-howto . Это процесс деплоя. В свой локальный репозиторий добавил два ремоута - prod & test. Это помимо origin, который указывает на ваш общий bare git репозиторий, на гитхабе, например. Собсно сначала выкладываю на тест одной командой
git push test master
потом, если всё хорошо, уже на прод
git push prod master
Если нужны какие-нибудь пост-обработки, то они происходят на сервере через хуки гита.

По поводу workflow. Простейший вариант - Github Flow.
Есть одна ветка, master - там всегда то, что сейчас на проде.
Чтобы сделать фичу/починить баг вы создаёте новую ветку из мастера, коммитите в неё, когда всё сделали мерджите её в мастер. Перед мерджем, понятное дело, обновите свой мастер, вдруг кто-то туда уже смерджил свою ветку с другой фичой. Хотите перед мерджем протестировать свою фичу?
git push test my-feature:master
это запушит вашу ветку на тестовый сервер.
Ответ написан
Acuna
@Acuna
Заполнил свой профиль
У меня все просто как топор! Имеется батник с прописанными командами
git commit, git push, git pull, и далее по ситуации, который запускается автоматически в момент сборки проекта (короче когда запустишь))) ), он все коммитит на Гит, и он же деплоит все на удаленный сервер по sFTP (который по SSH c сертификатами) c помощью консольной утилиты winscp (ибо sFTP) с явками из отдельного конфига, который лежит вместе с батником, поэтому его можно легко изменять, не затрагивая сам батник. То есть отправили на Гит, все синхронизировали с локальной версией, если все норм - то развернули на удаленный. И все. Минус только один: пока работать можно только с одной веткой. Но это все только вопрос модернизации самого батника (у меня просто нет такой необходимости). Честно признаться, я не знаю, почему всем дают такие зубодробильные инструкции при ответе на вопросы такого рода, но как по мне - все гениальное просто. Не, исправьте меня если что, может быть я заблуждаюсь в своей правоте, я готов принять конструктивную критику такого подхода)
Ответ написан
Комментировать
VladimirAndreev
@VladimirAndreev
php web dev
git-flow
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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