GitLab Self-ManagedインスタンスでのGitLab Duoの設定
- 提供形態: GitLab Self-Managed
GitLab Duoが正しく設定され、GitLabに接続できることを確認するには、以下を実行します:
- 送信と受信の両方の接続が存在することを確認する必要があります。ネットワークファイアウォールはラグまたは遅延の原因となる可能性があります。
- サイレントモードをオンにしないでください。
- アクティベーションコードを使用して、インスタンスをアクティブ化する必要があります。オフラインライセンスまたは従来のライセンスは使用できません。
- 最良の結果を得るには、GitLab 17.2バージョン以降を使用してください。以前のバージョンでも引き続き動作する可能性はありますが、エクスペリエンスが低下するおそれがあります。
試験的またはベータ版のGitLab Duo機能は、デフォルトでオフになっており、オンにする必要があります。
GitLabインスタンスからの送信接続を許可する
送信と受信の両方の設定を確認します:
- ファイアウォールとHTTP/Sプロキシサーバーは、
cloud.gitlab.comおよびcustomers.gitlab.comへの送信接続をポート443で許可する必要があります(https://)。これらのホストはCloudflareによって保護されています。すべてのIPアドレスへのトラフィックを許可するようにファイアウォールの設定を更新します(Cloudflareが公開しているIP範囲のリスト)。 - HTTP/Sプロキシを使用するには、
gitLab_workhorseとgitLab_railsの両方に必要なウェブプロキシ環境変数が設定されている必要があります。 - マルチノードのGitLabインストールでは、すべてのRailsおよびSidekiq(Sidekiq) ノードでHTTP/Sプロキシを設定します。
- GitLabアプリケーションノードは、GitLab Duoワークフローサービスに接続できる必要があります。
クライアントからGitLabインスタンスへの受信接続を許可する
- GitLabインスタンスは、ポート443で、Duoクライアント(IDE、コードエディター、およびGitLab Webフロントエンド)からの受信接続を許可する必要があります(
https://とwss://)。 HTTP2と'upgrade'ヘッダーの両方を許可する必要があります。これは、GitLab DuoがRESTとWebSocketsの両方を使用するためです。- WebSocket(
wss://)トラフィックからwss://gitlab.example.com/-/cableおよびその他の.comドメインへの制限を確認してください。wss://トラフィックに対するネットワークポリシーの制限により、一部のGitLab Duoチャットサービスで問題が発生する可能性があります。これらのサービスを許可するようにポリシーの更新を検討してください。 - Apacheなどのリバースプロキシを使用している場合、ログにWebSocket connection to …. failuresのようなGitLab Duoチャット接続の問題が表示されることがあります。
この問題を解決するには、Apacheプロキシの設定を編集してみてください:
# Enable WebSocket reverse Proxy
# Needs proxy_wstunnel enabled
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://127.0.0.1:8181/$1" [P,L]GitLab Duoのヘルスチェックを実行する
- ステータス: ベータ
GitLab Duoを使用するための要件をインスタンスが満たしているかどうかを判断できます。ヘルスチェックが完了すると、合格または失敗の結果と問題のタイプが表示されます。ヘルスチェックがテストに失敗した場合、ユーザーはインスタンスでGitLab Duo機能を使用できない可能性があります。
これはベータ版の機能です。
前提要件:
- 管理者である必要があります。
ヘルスチェックを実行するには:
- 左側のサイドバーの下部で、管理者を選択します。
- GitLab Duoを選択します。
- 右上隅で、ヘルスチェックを実行するを選択します。
- オプション。GitLab 17.5以降では、ヘルスチェックが完了した後、レポートのダウンロードを選択して、ヘルスチェック結果の詳細なレポートを保存できます。
次のテストが実行されます:
| Test | 説明 |
|---|---|
| ネットワーク | インスタンスがcustomers.gitlab.comおよびcloud.gitlab.comに接続できるかどうかをテストします。インスタンスがいずれかの宛先に接続できない場合は、ファイアウォールまたはプロキシサーバーの設定で接続を許可していることを確認してください。 |
| 同期 | サブスクリプションをテストします: - アクティベーションコードでアクティブ化されており、 customers.gitlab.comと同期できます。- 正しいアクセス認証情報を持っている。 - 最近同期されている。そうでない場合、またはアクセス認証情報がないか期限切れになっている場合は、サブスクリプションデータを手動で同期できます。 |
| システム交換 | インスタンスでコード提案を使用できるかどうかをテストします。システム交換アセスメントが失敗した場合、ユーザーはGitLab Duo機能を使用できない可能性があります。 |
バージョン17.10以前のGitLabインスタンスで、ヘルスチェックに問題が発生した場合は、トラブルシューティングページを参照してください。
その他のホスティングオプション
デフォルトでは、GitLab DuoはサポートされているAIベンダーの言語モデルを使用し、GitLabがホストするクラウドベースのAIゲートウェイを介してデータを送信します。
独自の言語モデルまたはAIゲートウェイをホストする場合は、以下を実行します:
- GitLab Duo Self-Hostedインスタンスを使用してAIゲートウェイをホストし、サポートされているセルフホストモデルを使用できます。このオプションを使用すると、データとセキュリティを完全に制御できます。
- ハイブリッド設定を使用します。一部の機能では独自のAIゲートウェイとモデルをホストしますが、他の機能を設定して、GitLab AIゲートウェイとAIベンダーモデルを使用します。
GitLab Duo Coreの可用性を示すサイドバーウィジェットを非表示にする
左側のサイドバーの下部付近に、GitLab Duo Coreの可用性を示すウィジェットが表示されます。このウィジェットを非表示にするには、duo_agent_platform_widget_self_managed機能フラグを無効にします。
