Работа на проектах с автодеплоем

Проекты с автодеплоем в первую очередь означают следующее: 
1) Любой коммит в ветку dev будет автоматически перекачан на нашу DEV-площадку. 
2) Любой коммит в ветку master будет автоматически перекачан на боевую площадку.


Отсюда вытекают 2 золотых правила. 
1) НИКОГДА не коммитить в master напрямую.
2) master обновляется ТОЛЬКО из dev . Подразумеваются периодические merge, которые должны проходить по стратегии Fast Forward


Подробности про реализацию автодеплоя. 
Автодеплой настраивается через digital-spectr.beanstalkapp.com . Этот сервис выкатывает изменения по FTP/SFTP протоколу. 


beanstalkapp.com видит, что в коммите пришли, например, 3 файла и просто выкачивает их на ФТП. Т.е. нужно четко понимать, что на боевых серверах не обязательно стоит ГИТ! И мы не сможем зайти туда по ФТП и сделать checkout. Поэтому критически важно не косячить в плане правил работы с репозиторием!


Итак, предлагаемый алгоритм работы: 
1) встаем на dev , пулим dev 
2) Ветвимся от dev, делаем свою задачу на своей ветке
3) Коммитим, пушим свою ветку в центральный репозиторий. Коммиты и пуши своей ветки следует делать как можно чаще. По итогам дня - обязательно. Желательно коммитить и пушить с соотв. сообщениями после реализации каждого куска функционала своей задачи (сверстал > натянул -> еще что-то сделал)


Перед сливанием своей ветки в dev:

-встаём на dev, пулим dev

- встаём на свою ветку, пулим dev (после этого пула убедиться, что ваши наработки по задаче не затерты и конфликтов нет)

- merge своей ветки в dev (это должно проходить без конфликтов, если вы сделали предыдущие пункты)

- пушим dev

После манипуляций со своим реозиторием и пуша в dev настоятельно рекомендуется проверить корректность отправленных коммитов через beanstalkapp : http://prntscr.com/fucvm4 - туда должны попадать файлы по вашей задаче. 
Обязательно проверяем функционал на нашей dev площадке.

Если всё ок - можно выливать в master(только для старших разработчиков). Делать это следует через beanstalkapp . Заходим на страницу веток: http://prntscr.com/fucvsy . Нужно убедиться, что ветка master и dev не конфликтуют и после этого можно жать Merge. После этого dev замержится в master (это будет видно по истории коммитов).


====================
Пара слов про отладку деплоя. 
Смотреть что и как выкатывается можно во вкладке Deployments (http://prntscr.com/fucwch). Там будут видны подключенные сервера для деплоя. При переходе в конкретный сервер можно увидеть историю ВСЕХ деплоев (т.е. подразумеваются деплои по ФТП, которые проводит beanstalkapp). В информации о конкретном деплое можно увидеть:отправленные коммиты, список отправленных файлов.

===============


P.S. все коммиты в dev в 99% случаев будут выкатываться на нашу площадку автоматически. 
На отдельных проектах выкатка на боевой сервер происходит "По кнопке": http://prntscr.com/fucw5w . Сделано это специально, чтобы можно было контролировать процесс обновления боевой площадки. Актуально для проектов, где работа идёт большими блоками