как другой удаленный сайт использует сервер gerrit на основе зеркального репо?

В моей компании есть два сайта разработки, которые сотрудничают в разработке ПО для клиента, и моя работа заключается в сборе исправлений с обоих сайтов, чтобы сделать выпуск нашей компании поставщиком и доставить его в центр выпуска клиентов. (концентратор клиентских выпусков, использующий другой сервер git на сайте C, и помимо меня, были CM от других компаний, которые предоставляли аналогичный выпуск поставщика концентратору клиентских выпусков для выпуска.)

после самостоятельного изучения, теперь я успешно создал систему gerrit/git на сайте A, разработчик на сайте A мог без проблем использовать gerrit для клонирования кода/просмотра изменений, но разработчик с сайта B жалуется, что производительность gerrit сайта A неприемлема для их клонирование/push/pull занимает несколько часов, повседневная работа невозможна.

Поэтому они предложили настроить что-то вроде зеркального репозитория git на сайте B, тогда они смогут более эффективно клонировать код с зеркального сервера, а тем временем разработчикам на сайте B также нужно использовать gerrit на сайте A для проверки кода, потому что мне нужно Соберите все изменения сайта A/B из ветки code_develop на сайте A, затем сделайте выпуск компании-поставщика и отправьте его на сайт C, где клиент сделает основной выпуск продукта.

Затем ниже приведены проблемы, которые я не уверен, как это сделать:

  1. как создать зеркальный репозиторий git на сайте B?
    Это все просто с помощью команды «git clone --mirror siteA_admin@siteA_IP:29418/product_code» на сервере на сайте B?

  2. После создания зеркальной ветки сайта B, каков наилучший эффективный способ обновления между репозиторием gerrit сайта A и зеркальным репо на сайте B? Используя какой-то крючок? или зеркальный репозиторий git будет обновляться автоматически? или кто-либо на сайте B должен каждый раз выполнять выборку вручную?

  3. Каков наилучший способ своевременно и эффективно обновить комментарий разработчика сайта B к gerrit? должен ли разработчик использовать какую-либо команду для прямого нажатия на gerrit на сайте A? или разработчик должен просто отправить код в зеркальное репо, а затем снова нажать на сайт A из зеркала? Я потерян .. нуждается в вашей поддержке.

  4. поскольку клиентский репозиторий C не является таким же репозиторием git в нашей компании, как мне доставить код в центр выпуска? Должен ли я просто скопировать выпуск поставщика в репозиторий git, клонированный с siteC, а затем снова нажать? или это нормально, я использую какую-то команду для отправки кода непосредственно с рабочего репозитория сайта A на сайт C git release repo?

  5. после того, как новый выпуск, сделанный концентратором выпусков клиентов на сайте C, как я должен обновлять репозитории git сайта A и сайта B?

P.S: В связи с тем, что я новичок в Китае, чтобы избежать ненужных затрат на связь из-за разницы во времени, пожалуйста, попробуйте дать некоторые предложения очень подробно. :p Большое спасибо за вашу помощь заранее.


person Tank Yang    schedule 23.06.2013    source источник


Ответы (1)


Взгляните на эту информацию о масштабировании и настройке репликации для Gerrit.

person uncletall    schedule 26.06.2013