正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

Geoサイトの使用

  • プラン: Premium、Ultimate
  • 提供形態: GitLab Self-Managed

データベースのレプリケーションを設定し、Geoノードを構成した後、プライマリサイトと同様に、最寄りのGitLabサイトを使用します。

Gitの操作

セカンダリサイトに直接プッシュできます(HTTP、SSH、Git LFSを含む)。そのリクエストは代わりにプライマリサイトにプロキシされます。

セカンダリサイトにプッシュするときに表示される出力の例:

$ git push
remote:
remote: This request to a Geo secondary node will be forwarded to the
remote: Geo primary node:
remote:
remote:   ssh://git@primary.geo/user/repo.git
remote:
Everything up-to-date

SSHの代わりにHTTPSを使用してセカンダリにプッシュする場合、user:password@URLのようにURLに認証情報を保存することはできません。代わりに、Unix系のオペレーティングシステムの場合は.netrcファイル、Windowsの場合は_netrcを使用できます。その場合、認証情報はプレーンテキストとして保存されます。より安全な方法で認証情報を保存する場合は、Git Credential Storageを使用できます。

ウェブユーザーインターフェース

セカンダリサイトのWebユーザーインターフェースは読み取り/書き込み可能です。ユーザーとして、プライマリサイトで許可されているすべてのアクションは、制限なしにセカンダリサイトで実行できます。

セカンダリサイトのWebインターフェースアクセスリクエストは、自動的かつ透過的にプライマリサイトにプロキシされます。

GeoセカンダリサイトからGo言語のモジュールをフェッチする

Go言語のモジュールは、いくつかの制限付きで、セカンダリサイトからプルできます:

  • Gitの設定(insteadOfを使用)は、Geoセカンダリサイトからデータをフェッチするために必要です。
  • プライベートプロジェクトの場合、認証の詳細は~/.netrcで指定する必要があります。

詳細については、Go言語のパッケージとしてプロジェクトを使用するを参照してください。