Help us learn about your current experience with the documentation. Take the survey.

软件开发流程故障排除

  • Tier: Premium, Ultimate
  • Add-on: GitLab Duo Core, Pro, or Enterprise
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
  • Status: Beta

一般指导

如果您遇到问题,请确保您已:

  1. 安装了最新版本的 GitLab Workflow VS Code 扩展。
  2. 拥有一个符合 先决条件 的项目。
  3. 在 VS Code 中打开了仓库。
  4. 已检出分支。

有关这些步骤的详细信息,请参阅 先决条件如何连接到您的仓库

查看调试日志

您可以通过查看调试日志来排查一些问题。

  1. 打开本地调试日志:
    • 在 macOS 上:Cmd + ,
    • 在 Windows 和 Linux 上:Ctrl + ,
  2. 搜索设置 GitLab: Debug 并启用它。
  3. 打开语言服务器日志:
    1. 在 VS Code 中,选择 View > Output
    2. 在底部的输出面板中,在右上角, 从列表中选择 GitLab WorkflowGitLab Language Server
  4. 检查是否有错误、警告、连接问题或身份验证问题。

网络问题

您的网络可能会阻止与 Agent Platform 服务的连接, 例如通过使用防火墙。默认情况下,Agent Platform 使用 gRPC (Google 远程过程调用)连接。网络必须允许 HTTP/2 流量通过到 服务才能使 gRPC 正常工作。

在 IDE 中,gRPC 可以 更改为 WebSocket 连接

要确认您可以使用 gRPC 连接到 Agent Platform 服务:

  1. 在 Google Chrome 或 Firefox 中,打开开发者工具并选择 Network 选项卡。
  2. 右键单击列标题以显示 Protocol 列。
  3. 在地址栏中,输入 https://duo-workflow-svc.runway.gitlab.net/DuoWorkflow/ExecuteWorkflow
  4. 确保请求成功,并且 Protocol 列在 Chrome 中包含 h2 或在 Firefox 中包含 HTTP/2

如果请求失败或未显示 HTTP/2 协议:

  • 可能配置了 Netskope 或 Zscaler 等安全系统来阻止或检查流量。
  • HTTP/2 协议降级为 HTTP/1.1,这会阻止 Agent Platform 正常工作。

要解决此问题,请要求您的网络管理员将 https://duo-workflow-svc.runway.gitlab.net/DuoWorkflow/ExecuteWorkflow 添加到正确的允许列表中,或将其免除流量检查。

使用 WebSocket 连接代替 gRPC

如果您的网络条件不允许 gRPC 连接,WebSocket 是 VS Code 和 JetBrains IDE 中的替代方案:

  • 在 VS Code 中:

    1. 选择 File > Preferences > Settings
    2. 搜索设置 GitLab: Duo Agent Platform: Connection Type,然后选择 WebSocket
  • 在 JetBrains 中:

    1. 在顶部栏,选择主菜单,然后选择 Settings
    2. 在左侧边栏,选择 Tools > GitLab Duo
    3. GitLab Duo Agent Platform > Connection Type 部分,选择 WebSocket

IDE 配置

您可以尝试几种方法来确保您的仓库已正确配置和连接。

在 GitLab Workflow 扩展中查看项目

首先,确保在 VS Code 的 GitLab Workflow 扩展中选择了正确的项目。

  1. 在 VS Code 中,在左侧边栏选择 GitLab Workflow ( tanuki )。
  2. 确保项目已列出并已选中。

如果项目名称旁边出现错误消息,请选择它以显示需要更新的内容。

例如,您可能有多个仓库需要选择一个,或者根本没有仓库。

没有 Git 仓库

如果您的工作区没有初始化 Git 仓库,您必须创建一个新仓库:

  1. 在左侧边栏,选择 Source Control ( branch )。
  2. 选择 Initialize Repository

当仓库初始化后,您应该在 Source Control 视图中看到名称。

有 Git 仓库但没有 GitLab 远程

您可能有 Git 仓库,但它没有正确连接到 GitLab。

  1. 在左侧边栏,选择 Source Control ( branch )。
  2. Source Control 标签上,右键单击并选择 Repositories
  3. 在您的仓库旁边,选择省略号 ( ellipsis_h ),然后选择 Remote > Add Remote
  4. 输入您的 GitLab 项目 URL。
  5. 将新添加的远程作为您的上游。

多个 GitLab 远程

您的仓库可能配置了多个 GitLab 远程。 要选择正确的远程:

  1. 在左侧边栏,选择 Source Control ( branch )。
  2. 在状态栏上,选择当前的远程名称。
  3. 从列表中选择适当的 GitLab 远程。
  4. 确保所选的远程属于 GitLab 中的组命名空间。

多个 GitLab 项目

如果您的 VS Code 工作区包含多个 GitLab 项目,您可能想要 关闭所有您不使用的项目。

要关闭项目:

  1. 在左侧边栏,选择 Source Control ( branch )。
  2. 确保显示仓库:在 Source Control 标签上,右键单击并选择 Repositories
  3. 右键单击要关闭的仓库并选择 Close Repository

项目不在组命名空间中

GitLab Duo Agent Platform 要求项目属于组命名空间。

要确定您的项目所在的命名空间,查看 URL

如有必要,您可以 将您的项目转移到组命名空间

仍然有问题?

请联系您的 GitLab 管理员寻求帮助。