![회사 간 두 개의 Git 서버 동기화](https://rvso.com/image/1414660/%ED%9A%8C%EC%82%AC%20%EA%B0%84%20%EB%91%90%20%EA%B0%9C%EC%9D%98%20Git%20%EC%84%9C%EB%B2%84%20%EB%8F%99%EA%B8%B0%ED%99%94.png)
두 개의 회사가 있습니다. 각각에는 Git 서버가 실행 중입니다. A 회사가 일부 코드를 체크인하면 이는 B 회사 서버에서 업데이트되어야 하며 그 반대의 경우도 마찬가지입니다.
두 서버는 서로 동기화를 유지해야 합니다.
서버 OS: 우분투 서버 14.04
GIT: Gitlab
우리의 경우에는 어떤 솔루션이 적합할까요(미러링, 후크 등)?
답변1
저는 Git 저장소 수준에서 동기화하고 모든 것을 프로젝트 팀에 위임하는 도구를 만들었습니다.
내 도구는git-repo-sync.
두 개의 원격 Git 저장소를 자동으로 동기화합니다. 그러나 누군가가 필요로 하는 만큼 많은 동기화 쌍을 구성하는 것은 가능합니다.
나는 서버가 "Git 순서"로 동기화될 수 없다고 생각합니다.
GitLab조차도미러링저장소 수준에서.
기술적으로는 서버 수준에서도 미러링이 가능하지만 단방향 동기화가 됩니다.
사람들은 두 회사 모두에서 변경을 원하는 경우가 더 많으며 미러링에서는 이를 허용하지 않습니다.
백업에 사용되는 경우를 제외하고 미러링에는 항상 제한이 있었습니다.
서버 동기화가 있다고 가정해 보세요.
다음으로 Git 푸시 및 커밋이 야간 동기화 중에 사라질 수 있으므로 귀하의 측(회사)에게 확인하고 반복하도록 요청합니다.
그런 다음 이러한 문제를 완화하기 위해 동일한 Git 분기에 커밋하지 않도록 요청합니다.
완화하지만 제거하지는 않습니다.
Gitlab 또는 Bitbucket 수준에서 양방향 동기화를 구현하는 방법을 상상합니다.
나는 이것을 내 도구에 구현하지 않기로 결정했습니다. 왜냐하면 조금 복잡할 것이기 때문입니다.
제 경우에는 Gitlab이나 Bitbucket뿐만 아니라 많은 Git 서버를 보유하고 있습니다.
서버 또는 Git 솔루션 동기화에 동의할 수 없는 다른 이유도 많이 있습니다. 하지만 여기는 내 고통을 나눌 곳이 없어요. :)