本页介绍了如何配置 Developer Connect 代理。
Developer Connect 代理通过使用账号连接器,增强了 Developer Connect 处理身份验证和对源代码管理系统 (SCM)、任意 HTTP 端点(预览版)的网络访问权限的方式,以及与非 Google 开发者工具提供商的连接。
为系统连接或账号连接器启用代理后,Developer Connect 会使用代理服务器来发出 Git 请求(例如 git clone)或对 HTTP 端点进行 API 调用(预览版)。使用Google Cloud 控制台创建连接时,代理默认处于启用状态。这样一来,您只需向用户或服务账号授予 IAM 权限,而无需在 Secret Manager 中管理访问令牌。
例如,在连接上启用 Developer Connect 代理后,您可以执行以下操作:
- 将 Gemini Code Assist 代码自定义功能与私有托管网络(包括本地网络)中的 SCM 搭配使用。
使用 Google Cloud 身份验证和 Identity and Access Management 权限从外部 SCM 克隆源代码。
在私有托管网络(包括本地网络)中使用 Gemini Code Review Agent 与 SCM(预览版)。
Developer Connect 支持两种类型的代理:
系统连接上的代理
系统连接代理包括以下内容:
- Git 代理
对于与源代码管理系统 (SCM) 的连接
- HTTP 代理(预览版)
对于与任意 HTTP 端点的连接
账号连接器的代理(预览版)
Developer Connect 代理可与账号连接器搭配使用。
所有这些功能都通过同一设置启用。
准备工作
确保您在 Developer Connect 中至少有一个系统连接(连接到 GitHub、GitLab 或 Bitbucket 等 SCM,或连接到 HTTP 端点)或一个账号连接器。
如需获得为连接配置 Developer Connect 代理所需的权限,请让管理员向您授予启用或停用 Developer Connect 代理的用户的 Developer Connect Admin (developerconnect.admin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需获得向代理发出连接请求所需的权限,请让管理员向您授予发出 Git 请求的用户账号或服务账号的以下 IAM 角色:
-
针对系统连接发出
git clone等 Git 读取请求: Git Proxy Reader (roles/developerconnect.gitProxyReader) -
发出 Git 写入请求(例如
git push),用于系统连接: Git Proxy User (roles/developerconnect.gitProxyUser) -
为账号连接器发出 Git 读取和写入请求:
账号连接器 OAuth 用户 (
roles/developerconnect.oauthUser)
为系统连接启用和停用 Developer Connect 代理设置
使用 Google Cloud 控制台创建系统连接时,默认情况下会启用代理。启用后,Git 代理和 HTTP 代理都会启用。
如需查看和更新代理设置,请执行以下操作:
控制台
在 Google Cloud 控制台中,打开 Developer Connect。
点击连接标签页,然后点击要使用的连接的名称。
在连接详情页面上,点击其他配置标签页。
点击 Developer Connect 代理切换开关,以停用或重新启用 Developer Connect 代理功能。
Developer Connect 代理默认处于启用状态。
Google Cloud CLI
为连接启用 Developer Connect 代理设置
如需为连接启用 Developer Connect 代理,请运行 gcloud developer-connect connections update 命令来启用代理设置:
gcloud developer-connect connections update CONNECTION_NAME \
--location=REGION \
--git-proxy-config-enabled
为连接停用 Developer Connect 代理
如需为连接停用 Developer Connect 代理,请运行 gcloud developer-connect connections update 命令来停用代理设置:
gcloud developer-connect connections update CONNECTION_NAME \
--location=REGION \
--no-git-proxy-config-enabled
查看连接的代理设置
如需查看有关连接的 Developer Connect 代理设置的详细信息,请运行 gcloud developer-connect connections describe 命令:
gcloud developer-connect connections describe CONNECTION_NAME \
--location=REGION
替换以下内容:
- 将 CONNECTION_NAME 替换为连接的名称。
- 将 REGION 替换为连接的区域。
本文档的其余部分仅包含 Git 代理的说明。
为账号连接器启用和停用 Developer Connect 代理设置
使用 Google Cloud 控制台创建账号连接器时,系统默认启用代理。启用后,Git 代理和 HTTP 代理都会启用。
如需查看和更新代理设置,请执行以下操作:
控制台
在 Google Cloud 控制台中,打开 Developer Connect。
点击账号连接器标签页,然后点击要使用的账号连接器的名称。
在连接器详情页面上,点击配置标签页。
点击 Developer Connect 代理切换开关,以停用或重新启用 Developer Connect 代理功能。
Developer Connect 代理默认处于启用状态。
Google Cloud CLI
为账号连接器启用 Developer Connect 代理设置
如需为账号连接器启用 Developer Connect 代理,请运行以下命令:
gcloud alpha developer-connect account-connectors update CONNECTOR_NAME \
--location=REGION \
--proxy-config-enabled
为账号连接器停用 Developer Connect 代理
如需为连接停用 Developer Connect 代理,请运行以下命令:
gcloud alpha developer-connect account-connectors update CONNECTOR_NAME \
--location=REGION \
--no-proxy-config-enabled
查看账号连接器的代理设置
如需查看有关连接的 Developer Connect 代理设置的详细信息,请运行以下命令:
gcloud alpha developer-connect account-connectors describe CONNECTOR_NAME \
--location=REGION
替换以下内容:
- 将 CONNECTOR_NAME 替换为您的账号连接器的名称。
- 将 REGION 替换为账号连接器的区域。
查找 Git 代理 URI
对于系统连接
启用 Developer Connect 代理后,您可以执行以下操作,找到系统连接的 Git 代理 URI:
控制台
在 Google Cloud 控制台中,打开 Developer Connect。
点击连接标签页,然后点击要使用的连接的名称。
在连接详情页面中,点击代码库标签页。
找到相应连接的代码库,然后点击复制 Git 代理网址。
Google Cloud CLI
如需获取 Git 代理 URI,请运行 gcloud developer-connect connections git-repository-links describe 命令:
gcloud developer-connect connections git-repository-links describe REPOSITORY_NAME \
--connection=CONNECTION_NAME \
--location=REGION
替换以下内容:
- 将 REPOSITORY_NAME 替换为您的代码库名称。
- 将 CONNECTION_NAME 替换为连接的名称。
- 将 REGION 替换为连接的区域。
Developer Connect API
Git 代理 URI 位于连接的 GitRepositoryLink 的 git_proxy_url 字段中。
对于账号连接器
启用 Developer Connect 代理后,您可以使用以下格式为账号连接器构建 Git 代理 URI:
https://REGION-git.developerconnect.dev/a/PROJECT_ID/CONNECTOR_ID/REPO_PATH
其中:
REGION是您创建账号连接器的区域。PROJECT_ID是您在其中创建账号连接器的项目的 ID。CONNECTOR_ID是您已启用 Git 代理的账号连接器的 ID。REPO_PATH是代码库的 Git 网址中网域后面的所有内容。例如,如果代码库网址为
https://github.com/myusername/test-repo.git,则REPO_PATH为myusername/test-repo。
向 Git 代理发出问题请求
获得 Git 代理 URI 后,您可以通过执行以下操作向 Git 代理发出请求:
配置 Git CLI 以使用 Google Cloud CLI 凭据帮助程序:
git config --global credential.'https://*.developerconnect.dev'.helper gcloud.sh向 Git 代理发出请求。此示例是一个
git clone请求。对于账号连接器:
git clone https://REGION-git.developerconnect.dev/a/PROJECT_NAME/ACCOUNT_CONNECTOR_NAME/ACCOUNT_CONNECTOR_NAME/REPO_PATH如果您不想使用凭据帮助程序,则可以改为将云访问令牌嵌入到请求中:
git clone https://unused:$(gcloud auth print-access-token)@REGION-git.developerconnect.dev/a/PROJECT_NAME/ACCOUNT_CONNECTOR_NAME/REPO_PATH对于系统连接:
git clone https://REGION.developerconnect.dev/PROJECT_NAME/CONNECTION_NAME/REPOSITORY_NAME如果您不想使用凭据帮助程序,则可以改为将云访问令牌嵌入到请求中:
git clone https://unused:$(gcloud auth print-access-token)@REGION.developerconnect.dev/PROJECT_NAME/CONNECTION_NAME/REPOSITORY_NAME替换以下内容:
- 将 REGION 替换为账号连接器的区域。
- 将 PROJECT_NAME 替换为创建账号连接器的 Google Cloud 项目的名称。
- 将 ACCOUNT_CONNECTOR_NAME 替换为您的账号连接器的名称。
- 将 CONNECTION_NAME 替换为系统连接的名称。
- 将 REPOSITORY_NAME 替换为您的代码库名称。
- 将 REPO_PATH 替换为代码库的路径,例如
my-org/my-repo。