Каков наилучший способ развертывания нескольких проектов на сервере с помощью Git? - PullRequest
4 голосов
/ 14 сентября 2010

Я собираюсь сделать решающий шаг и начать использовать Git для реальных проектов, которые используют другие!

До сих пор я использовал Git в некоторых базовых проектах и ​​играл с Github для некоторых университетских проектов, но сейчася и некоторые другие будем работать над несколькими проектами.В результате мы будем размещать Git на удаленном сервере, и, честно говоря, было бы здорово, если бы мы могли просто начать испытанный и проверенный метод использования Git для наших нужд.

ВСначала мы подумали о размещении мастера Git на сервере, а ...

Сайт: / home / vhosts / domain / htdocs

Git: /home/git/domain.git

Похоже, это будет работать, но я беспокоюсь о размещении репозитория на сервере, с которого запускается основной веб-сайт.на случай, если он выйдет из строя или мы потеряем данные, так как мы остались бы с нашими локальными копиями.Я бы хотел, чтобы все это работало на сервере разработки, но некоторые думают, что это излишне, и что-то, что с логистической точки зрения может стать кошмаром.

Если честно, мы все недавние выпускники и имеемтолько базовый опыт управления исходным кодом в хобби-проектах и ​​исключительно в проектах CS последнего года, причем популярным вариантом в то время была подрывная деятельность.Одна из причин, по которой мы выбрали Git, заключалась в устных устах других разработчиков и в рекомендациях друзей, которые широко используют его на работе.

Чтобы уточнить, мы будем работать над несколькими размещенными проектами и хотели быразвернуть с помощью Git.То, на чем мы застряли, - это лучший способ справиться с этим.Около трех человек будут работать на отдельных машинах одновременно с работающим сервером и (надеюсь) сервером разработки для тестирования.

Как вы относитесь к тем, кто имеет дело главным образом с веб-приложениями?использовать Git для развертывания вашего рабочего кода на сервере?Мы лаем не то дерево для наших нужд?Любые советы, которые вы можете дать новичку Git?

Ответы [ 4 ]

4 голосов
/ 14 сентября 2010

Вам необходимо понять, что все репозитории Git, по сути, являются «локальными».

Когда вы клонируете репозиторий с использованием git clone, вы получаете весь репозиторий.со всеми его изменениями и логами.Если вы потеряли удаленный репозиторий, ваш локальный клон может выбрать то место, где остановился удаленный.

Кроме того, вы можете иметь несколько удаленных репозиториев, подключенных к вашему локальному репозиторию: например, когда я работаюна сайте у меня будет собственный локальный репозиторий и удаленный репозиторий как на сервере разработки, так и на рабочем сервере.Тогда это просто вопрос подтягивания к нужному в зависимости от контекста.

И эти удаленные репозитории не являются чем-то особенным: это просто каталоги, содержащие те же самые вещи на моем компьютере.

Таким образом, единственное, о чем вам нужно беспокоиться, это убедиться, что ваши удаленные репозитории доступны каждому в вашей команде: если у вас нет другого места для его размещения, сервер, на котором у вас есть сайт, в порядке.

2 голосов
/ 14 сентября 2010

Я действительно написал сообщение в блоге о процедуре, которую я использую для развертывания моего веб-сайта с локального компьютера на промежуточный сервер, а затем на живой сайт, поскольку это несколько сложно. Запись может быть полезна вам, если вы хотите использовать двухуровневую архитектуру распространения (промежуточный сервер, а затем работающий сервер). Если вы не хотите использовать промежуточный сервер, вы можете настроить локальный компьютер так, чтобы он передавался непосредственно на действующий сайт, и это намного проще. Конечно, эта настройка все равно позволит вам тестировать на локальном компьютере.

Кроме этого, я бы повторил то, что сказал Марк Трапп о децентрализованной природе мерзавца. Нет проблем с размещением вашего центрального хранилища на веб-сервере, поскольку ваша локальная копия содержит все необходимое для продолжения работы и, при необходимости, для восстановления другого центрального хранилища.

2 голосов
/ 14 сентября 2010

Если вы хотите работать с (или другой) группой (группами), вам следует взглянуть на Gitosis : это простой способ управлять несколькими проектами Git с пользовательскими правами доступа (чтение / запись)* по пользователю и по проекту.

Учебное пособие по Gitosis: http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

Другое решение - Gitolite , эволюция Gitosis.

0 голосов
/ 14 сентября 2010

Мы используем Gitosis для управления несколькими хранилищами с несколькими пользователями: http://fclose.com/b/1432/setting-up-git-server-using-gitosis/

Ранее мы использовали git через SSH соединение. Это сделает каждый администратор. Итак, мы переходим к Gitosis. Мы можем контролировать, кто может писать в один репозиторий и кто может читать один репозиторий. И у нас может быть несколько администраторов. Мы также можем настроить схему уведомлений по электронной почте. Мы довольны этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...