Как интегрировать систему контроля версий в процесс разработки?
Как интегрировать систему контроля версий в процессы компании?
Исходные данные:
Региональная веб студия, проекты на bitrix и modx.
Есть несколько выделенных серверов и больше сотни мелких проектов.
3 back-end, 2 front-end разработчиков, 1 чистый саппорт.
Мы (о ужс), до сих пор не пришли к использование системы контроля версий, у нас нет unit тестирования проектов, нет тестовых серверов (юзаем несколько тестовых доменов и поддиректории).
И честно говоря пока что сложно себе представить как интегрировать GIT, тестовый сервер в процессы компании.
Подскажите, пожалуйста или направьте где и что почитать на эту тему.
Или поделитесь как у вас организованна структура разработки проекта
front-end, bild => back-end => тестирование => production.
Собсно, как делаем мы - toroid.org/ams/git-website-howto . Это процесс деплоя. В свой локальный репозиторий добавил два ремоута - prod & test. Собсно сначала выкладываю на тест одной командой git push test master
потом, если всё хорошо, уже на прод git push prod master
Если нужны какие-нибудь пост-обработки, то они происходят на сервере через хуки гита.
Я бы начал с публичного сервиса как Github. Так много иснтрументов уже есть. Так же можно создовать приватные репозитории. Это платно но не дорого. Меня не напрягает.
Так же Гитхаб можно быстро интегрировать в разные слжубы напримет Windows Azure. Если в вас сервера там то можно организовать развертку автоматическую в один клик настроить. То есть один момент после того как вы все отправли на гитхаб это уже доступно на сервер для ручного тестирования.
Если хотите unit test или подобное так как сейчас очень много разных решений и разные хороши для разных задачь, то тут нужно использовать grunt а лучше gulp. Это позволит автоматизировать процесс тестирования и развертки.
На последок мотиватор. Я помню когда мы тоже работали без системы котроля версий. И помню как было тяжело внедрять в привычный процесс производства новую технологию. Казалось даже что она только мешает, и понижает производительность. Но со временим, когда все привыкли, мы не мыслим процесс без этого. И мы так рады что перешили на эти технологии.