Задать вопрос

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

Добрый день.

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

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

Забыл добавить - сейчас используем Gitlab, но тащить гитлаб на свой сервер не хочется, хочется сделать все через терминал.
  • Вопрос задан
  • 2052 просмотра
Подписаться 4 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 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). Конечно, всякие миграции и прочее придется исполнять руками. Или брать системы деплоя уже и использовать их.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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