Git + боевой и тестовый сервер, как тестировать выполненную работу и выстроить рабочий процесс?

Всем привет!
Пришло время начать использовать контроль версий для проектов. Прочитал хорошие материалы по git (https://git-scm.com/book/ru/v1/, https://habrahabr.ru/post/106912/) и получил представление об оптимальной модели работы в git, но практических навыков очень мало, пока споткнулся на том как увязать вместе ide, тестовый сервер и рабочий.
Мне очень понравилась модель описанная на хабре - https://habrahabr.ru/post/106912/, но для меня осталось не ясным работа разных веток с серверами.
Для примера: есть несколько человек занимающихся разработкой сайта, им нужно параллельно вести работу, тестировать ее и при успешных тестах добавлять ее на рабочий сервер.
Каким образом построить такую работу? Что для этого необходимо иметь?
Верно я понимаю:
Необходимо иметь два сервера, один тестовый, другой боевой. Все ветки по разработке настраивать на тестовом сервере, а мастер уже выгружать на боевом?
Как происходит сам процесс работы? Разработчик создает свою ветку с dev, вносит изменения, но как потом он их тестирует? Ему нужно их залить на тестовый сервер в dev чтобы можно было потом оценить работоспособность его решения, но как тогда можно вести ветки типа Feature branches, когда не ясно когда они будут в проекте? Выходят такие ветки не добавляют в dev до необходимости, но как тогда оценить их работоспособность? Каждый разработчик клонирует проект себе на локальную машину и тестирует там? Нужно разворачивать для этого виртуальный сервер типа Open Server?

Наставьте на путь истинный, пожалуйста))))

Разработка планируется вестись на phpStorm + Bitbucked.
Был бы признателен если еще кто сможет привести ссылки на хорошие материалы по теме ведения проектов с git, каким образом выстроить рабочий процесс, как осуществлять настройки.

Спасибо!
  • Вопрос задан
  • 2542 просмотра
Решения вопроса 1
DJZT
@DJZT
Laravel - code for you
Прочитайте ещё про git flow. А по сути один вариант такой.
Сделайте master ветку - как ветку основного боевого сервера. Вторую ветку dev - ветка сервера для тестирования. дальше делайте для каждого таска отдельную ветку. По окончании работы над таском делаете слияние в ветку dev. После того, как вы насобирали и оттестировали некоторое кол-во правок и задач, можете смержить master с dev веткой.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
taliban
@taliban
php программист
Путь истинный прост - работайте как угодно, заливайте веку main на живой и радуйтесь, по ходу дела моете добавить веток для отдельных тасков. Как настанет время магии сами поймете.
Ответ написан
Комментировать
@mvsavkin
Почитайте про непрерывную интеграцию про Jenkins
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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