Как правильно сделать свой сервер GIT?

Добрый день.

Есть сайт, над которым работают одновременно несколько разработчиков.
Есть сервер, назовем его dev.test.ru, на котором стоит ubuntu, nginx, php, mysql, git и демо сайт,
и есть компьютеры разработчиков, преимущественно на Windows.

Как правильно создать репозиторий в GIT, чтобы в него все могли пушить и эти изменения сразу же отображались на сайте dev.test.ru, потому что происходит активная разработка сайта. После того как изменения все фиксируются и происходит релиз, мы копируем на продакшн сервер код. Но как решить вопрос с GIT в данном случае?

Забыл добавить - сейчас используем Gitlab, но тащить гитлаб на свой сервер не хочется, хочется сделать все через терминал.
  • Вопрос задан
  • 2052 просмотра
Пригласить эксперта
Ответы на вопрос 4
@RidgeA
https://about.gitlab.com/ + gitlab ci + если надо docker
Ищите как настроить, это обширная тема и немало материала по ней
Ответ написан
@huwesu
Забыл добавить - сейчас используем Gitlab, но тащить гитлаб на свой сервер не хочется, хочется сделать все через терминал.


Можно использовать легкие аналоги - gogs.io, gitolite, gittosis, drone.io
Ответ написан
Комментировать
1. Создать на сервере bare-репозиторий;
2. Добавить в рабочие копии разработчиков новый remote на этот сервер;
3. В bare-репозитории добавить хук (я использую update), в котором сделать чекаут нужной ветки в нужный каталог;
4. Запустить при необходимости тесты
Ответ написан
Комментировать
@miksir
IT
1. git сервер, можно взять saas решения (гитхаб, гитлаб и т.п.) или сделать свой (самое простое - просто ssh доступ к серверу и сделанный там git init --bare)
2. git clone на dev сервере
3. Хук post-receive на git сервере, который сходит по ssh на dev сервер и сделает там git pull. В случае гитхаб и т.п. - смотреть их вебхуки и т.п. - и по их вызову уже делать git pull). Конечно, всякие миграции и прочее придется исполнять руками. Или брать системы деплоя уже и использовать их.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы