@belyaevcyrill

Правильно ли будет, если поставить GitLab на сервере разработки?

Есть сервер разработки, у которого в /var/www/project лежит разрабатываемый проект. Хочу /var/www/project сделать центральным git-репозиторием, в который я бы мог заливать изменения со своего домашнего компьютера. И чтобы новые разработчики тоже могли заливать свои изменения туда же.

1. Правильно ли будет, если на этот сервер разработки я поставлю GitLab?
2. Насколько помню, центральный git-репозиторий обычно хранят на отдельной машине (ну или на github.com). Разработчики сливают свои изменения в него, а на сервере разработки вытягивают из него изменения. Так ведь?

Помогите разобраться. Спасибо!
  • Вопрос задан
  • 364 просмотра
Пригласить эксперта
Ответы на вопрос 2
@MadridianFox
Web-программист, многостаночник
Центральный репозиторий (тот в котороый пушат несколько разработчиков) должен быть bare - т.е. без файлов.
Например GitLab как раз хранит bare репозитории.

Если /var/www/project это хост только чтобы показывать сайт (не разрабатывать прямо тут), то туда надо клонировать репозиторий из центрального. Когда разрабы пушат в центральный - руками или автоматически делаете pull в /var/www/project.

Где ставить гитлаб - вопрос наличия и мощности ваших машин. У меня в последнем проекте машин было мало и на dev-машине работали и гитлаб и хосты разработчиков, но в docker-контейнерах, т.е. они никак не были связаны.

Если же /var/www/project это хост с которым работают все разрабы сразу (прямо редактируют код), то срочно заваривайте чай - придётся переделывать. Лучше каждому разрабу выделить свой хост где он будет редактировать файлы своей копии сайта.
Ответ написан
Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!
1. Правильно ли будет, если на этот сервер разработки я поставлю GitLab?
2. Насколько помню, центральный git-репозиторий обычно хранят на отдельной машине (ну или на github.com).
Вы ни когда не задумывались, с чем это связано? :)

На самом деле, GitLab, не очень "спокойно" работает, если его проксируют, возникает целая череда "танцев с бубнами", что бы он нормально работал. Это первый момент.

Второй момент, напрямую связан с первым - GitLab любит, что бы сервер был целиком в его распоряжении. Если не уходить далеко в подробности, можно поставить GitLab на какую-то виртуальную машину (например, LXC/LXD), а сервер разработки - на вторую виртуальную машину, и всё это будет работать в рамках одного сервера. В этом случае, кол-во "потенциальных проблем" сводится к нулю, но, крайне желательно иметь 2 разных IP, что бы избежать проксирования (и каждой машине выделить свой IP). В ином случае, мы опять упремся в HTTP-прокси со всеми вытекающими...

Ещё один важный - GitLab очень любит ресурсы сервера и обычно требует не менее 1-2Гб оперативки... Которые, разумеется будут "откушены" от сервера и не смогут использоваться другими приложениями. А так же, на сервере будет "паразитная" нагрузка создаваемая самим GitLab'ом и когда кто-то решит выяснить, "почему всё тормозит" - сделать это будет не так просто, как хотелось бы, т.к. на сервере, кроме вашего приложения будет работать GitLab...

Отвечая непосредственно на Ваш вопрос - "можно ли так сделать?" - можно. Но не стоит.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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