Синхронизация двух Git-серверов между компаниями

Синхронизация двух Git-серверов между компаниями

Есть две компании. У каждой запущен сервер Git. Если компания A регистрирует какой-то код, он должен быть обновлен на сервере компании B и наоборот.

Оба сервера должны быть синхронизированы друг с другом.

Серверная ОС: Ubuntu Server 14.04

GIT: Gitlab

Какое решение было бы уместным в нашем случае (зеркалирование, хуки,..)?

решение1

Я создал инструмент для синхронизации на уровне Git-репозиториев и делегирования всего проектным группам.
Мой инструмент —git-repo-синхронизация.
Он автоматически синхронизирует два удаленных репозитория Git. Но можно настроить столько пар синхронизации, сколько нужно.

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

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

Представьте, что у вас есть какая-то синхронизация серверов.
Далее вы попросите свои стороны (компании) проверить и повторить свои Git-push и коммиты, потому что они могут исчезнуть во время ночной синхронизации.
Затем вы попросите свои стороны не делать коммиты в одни и те же Git-ветки, чтобы смягчить эти проблемы.
Смягчить, но не устранить.

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

В моем случае у меня много серверов Git, а не только Gitlab или Bitbucket.
Есть много других причин, по которым я не могу согласиться на синхронизацию серверов или Git-решений. Но здесь нет места, где я мог бы поделиться своей болью. :)

Связанный контент