![企業間で2つのGitサーバーを同期する](https://rvso.com/image/1414660/%E4%BC%81%E6%A5%AD%E9%96%93%E3%81%A72%E3%81%A4%E3%81%AEGit%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E5%90%8C%E6%9C%9F%E3%81%99%E3%82%8B.png)
2 つの会社があります。それぞれに Git サーバーが稼働しています。会社 A がコードをチェックインすると、会社 B のサーバーで更新され、その逆も同様です。
2 つのサーバーは相互に同期を保つ必要があります。
サーバーOS: Ubuntu Server 14.04
ギットラボ
私たちのケースではどのソリューションが適切でしょうか (ミラーリング、フックなど)?
答え1
Gitリポジトリレベルで同期し、すべてをプロジェクトチームに委任するためのツールを作成しました。
私のツールはgit リポジトリ同期2 つのリモート Git リポジトリを自動的に同期します。
ただし、必要な数の同期ペアを構成することは可能です。
私は、サーバーは「Gitの順序」では同期できないと考えています。GitLab
でさえ、ミラーリングリポジトリ レベルで。
技術的には、サーバー レベルでのミラーリングも可能ですが、一方向の同期になります。
多くの場合、両方の会社から変更を行いたいのですが、ミラーリングではそれができません。
バックアップに使用する場合を除いて、ミラーリングには常に制限がありました。
サーバー同期があるとします。
次に、夜間の同期中に Git プッシュとコミットが消える可能性があるため、両社に Git プッシュとコミットを確認して繰り返すように依頼します。
次に、これらの問題を軽減するために、両社に同じ Git ブランチにコミットしないように依頼します。
軽減はしますが、完全に排除するわけではありません。
Gitlab や Bitbucket レベルで双方向同期を実装する方法を想像します。
少し複雑になるため、ツールにこれを実装しないことにしました。
私の場合、Gitlab や Bitbucket だけではなく、多くの Git サーバーを所有しています。
サーバーや Git ソリューションを同期することに同意できない理由は他にもたくさんあります。しかし、ここで私の苦しみを分かち合う場所はありません。:)