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

GitLab Self-ManagedインスタンスでのGitLab Duoの設定

  • 提供形態: GitLab Self-Managed

GitLab Duoが正しく設定され、GitLabに接続できることを確認するには、以下を実行します:

試験的またはベータ版のGitLab Duo機能は、デフォルトでオフになっており、オンにする必要があります

GitLabインスタンスからの送信接続を許可する

送信と受信の両方の設定を確認します:

  • ファイアウォールとHTTP/Sプロキシサーバーは、cloud.gitlab.comおよびcustomers.gitlab.comへの送信接続をポート443で許可する必要があります(https://)。これらのホストはCloudflareによって保護されています。すべてのIPアドレスへのトラフィックを許可するようにファイアウォールの設定を更新します(Cloudflareが公開しているIP範囲のリスト)。
  • HTTP/Sプロキシを使用するには、gitLab_workhorsegitLab_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機能を使用できない可能性があります。

これはベータ版の機能です。

前提要件:

  • 管理者である必要があります。

ヘルスチェックを実行するには:

  1. 左側のサイドバーの下部で、管理者を選択します。
  2. GitLab Duoを選択します。
  3. 右上隅で、ヘルスチェックを実行するを選択します。
  4. オプション。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 Coreの可用性を示すサイドバーウィジェットを非表示にする

左側のサイドバーの下部付近に、GitLab Duo Coreの可用性を示すウィジェットが表示されます。このウィジェットを非表示にするには、duo_agent_platform_widget_self_managed機能フラグを無効にします。

GitLab Duo Coreの可用性を示すウィジェット