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-dateSSHの代わりにHTTPSを使用してセカンダリにプッシュする場合、user:password@URLのようにURLに認証情報を保存することはできません。代わりに、Unix系のオペレーティングシステムの場合は.netrcファイル、Windowsの場合は_netrcを使用できます。その場合、認証情報はプレーンテキストとして保存されます。より安全な方法で認証情報を保存する場合は、Git Credential Storageを使用できます。
ウェブユーザーインターフェース
セカンダリサイトのWebユーザーインターフェースは読み取り/書き込み可能です。ユーザーとして、プライマリサイトで許可されているすべてのアクションは、制限なしにセカンダリサイトで実行できます。
セカンダリサイトのWebインターフェースアクセスリクエストは、自動的かつ透過的にプライマリサイトにプロキシされます。
GeoセカンダリサイトからGo言語のモジュールをフェッチする
Go言語のモジュールは、いくつかの制限付きで、セカンダリサイトからプルできます:
- Gitの設定(
insteadOfを使用)は、Geoセカンダリサイトからデータをフェッチするために必要です。 - プライベートプロジェクトの場合、認証の詳細は
~/.netrcで指定する必要があります。
詳細については、Go言語のパッケージとしてプロジェクトを使用するを参照してください。