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

教程:设置 Google Cloud 集成

本教程将向您展示如何将 Google Cloud 与 GitLab 集成,以便您可以直接部署到 Google Cloud。

要设置 Google Cloud 集成,请执行以下操作:

  1. 使用 Google Cloud Identity and Access Management (IAM) 保护您的使用
  2. 连接到 Google Artifact Registry 仓库
  3. 设置 GitLab Runner 以在 Google Cloud 上执行您的 CI/CD 作业
  4. 使用 CI/CD 组件部署到 Google Cloud

开始之前

要设置此集成,您必须:

  • 拥有一个 GitLab 项目,并且您在该项目中至少拥有“维护者”(Maintainer)角色。
  • 在您要使用的 Google Cloud 项目上拥有 所有者 IAM 角色。
  • 已为您的 Google Cloud 项目 启用计费
  • 拥有一个采用 Docker 格式和标准模式的 Google Artifact Registry 仓库。
  • 安装 Google Cloud CLITerraform

使用 Google Cloud Identity and Access Management (IAM) 保护您的使用

为了保护您对 Google Cloud 的使用,您必须设置 Google Cloud IAM 集成。 完成此步骤后,您的 GitLab 组或项目将连接到 Google Cloud。您可以使用工作负载身份联合来处理 Google Cloud 资源的权限,而无需服务账号密钥及其相关的风险。

  1. 在左侧边栏,选择 搜索或跳转至 并找到您的组或项目。如果您在组级别进行配置,则设置将默认应用于该组内的所有项目。
  2. 选择 设置 > 集成
  3. 选择 Google Cloud IAM
  4. 选择 引导式设置 并按照说明操作。

连接到 Google Artifact Registry 仓库

既然 Google IAM 集成已经设置好,您现在可以连接到 Google Artifact Registry 仓库。 完成此步骤后,您就可以在 GitLab 中查看您的 Google Cloud 构件。

  1. 在您的 GitLab 项目中,在左侧边栏,选择 设置 > 集成
  2. 选择 Google Artifact Registry
  3. 启用集成 下,勾选 已启用 复选框。
  4. 填写以下字段:
    • Google Cloud 项目 ID:您的 Artifact Registry 仓库所在的 Google Cloud 项目的 ID。
    • 仓库名称:您的 Artifact Registry 仓库的名称。
    • 仓库位置:您的 Artifact Registry 仓库的位置。
  5. 配置 Google Cloud IAM 策略 部分,按照屏幕上的说明在 Google Cloud 中设置 IAM 策略。这些策略是使用 GitLab 项目中的 Artifact Registry 仓库所必需的。
  6. 选择 保存更改
  7. 要查看您的 Google Cloud 构件,请在左侧边栏选择 部署 > Google Artifact Registry

在后续步骤中,您将把容器镜像推送到 Google Artifact Registry。

设置 GitLab Runner 以在 Google Cloud 上执行 CI/CD 作业

您可以设置 GitLab Runner 在 Google Cloud 上运行 CI/CD 作业。 完成此步骤后,您的 GitLab 项目将拥有一个自动扩展的 Runner 集群,其中包含一个运行器管理器,该管理器会创建临时的 Runner 来同时执行多个作业。

  1. 在您的 GitLab 项目中,在左侧边栏,选择 设置 > CI/CD
  2. 展开 Runner 部分。
  3. 选择 新建项目 Runner
  4. 填写以下字段。
    • 平台 部分,选择 Google Cloud
    • 标签 部分,标签 字段中,输入作业标签以指定此 Runner 可以运行的作业。如果此 Runner 没有作业标签,请选择 运行未标记的作业
    • (可选)在 Runner 描述 字段中,添加一个在 GitLab 中显示的 Runner 描述。
    • (可选)在 配置 部分,添加其他配置。
  5. 选择 创建 Runner
  6. 填写 第 1 步:指定环境 部分中的字段,以指定 Runner 执行 CI/CD 作业的 Google Cloud 环境。
  7. 第 2 步:设置 GitLab Runner 下,选择 设置说明
  8. 按照模态框中的说明操作。您只需要为 Google Cloud 项目执行一次 第 1 步,以便准备好配置 Runner。

按照说明操作后,您的 Runner 可能需要一分钟才能上线并准备运行作业。

使用 CI/CD 组件部署到 Google Cloud

开发中的一个最佳实践是重用语法,例如 CI/CD 组件,以保持您流水线的一致性。

您可以使用来自 GitLab 和 Google 的组件库,让您的 GitLab 项目与 Google Cloud 资源进行交互。 请参阅 Google 的 CI/CD 组件

将容器镜像复制到 Google Artifact Registry

开始之前,您必须有一个可用的 CI/CD 配置,该配置会构建容器镜像并将其推送到您的 GitLab 容器镜像仓库。

要将容器镜像从您的 GitLab 容器镜像仓库复制到 Google Artifact Registry,请在您的流水线中包含 Google 的 CI/CD 组件。 完成此步骤后,每当有新的容器镜像推送到您的 GitLab 容器镜像仓库时,它也会被推送到您的 Google Artifact Registry。

  1. 在您的 GitLab 项目中,在左侧边栏,选择 构建 > 流水线编辑器

  2. 在现有配置中,按如下方式添加该组件。

    • <your_stage> 替换为此作业运行的阶段。 该阶段必须在镜像构建并推送到 GitLab 容器镜像仓库之后。
    include:
      - component: gitlab.com/google-gitlab-components/artifact-registry/upload-artifact-registry@main
        inputs:
          stage: <your_stage>
          source: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
          target: $GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_LOCATION-docker.pkg.dev/$GOOGLE_ARTIFACT_REGISTRY_PROJECT_ID/$GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_NAME/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
  3. 添加一个描述性的提交信息。目标分支 必须是您的默认分支。

  4. 选择 提交更改

  5. 转到 构建 > 流水线,并确保新的流水线正在运行。

  6. 流水线成功完成后,要查看已复制到 Google Artifact Registry 的容器镜像,请在左侧边栏选择 部署 > Google Artifact Registry

创建 Google Cloud Deploy 发布

要将您的流水线与 Google Cloud Deploy 集成,请在您的流水线中包含 Google 的 CI/CD 组件。 完成此步骤后,您的流水线将使用您的应用程序创建一个 Google Cloud Deploy 发布。

  1. 在您的 GitLab 项目中,在左侧边栏,选择 构建 > 流水线编辑器
  2. 在现有配置中,添加 Google Cloud Deploy 组件
  3. 编辑组件的 inputs
  4. 添加一个描述性的提交信息。目标分支 必须是您的默认分支。
  5. 选择 提交更改
  6. 转到 构建 > 流水线,并确保新的流水线通过。
  7. 流水线成功完成后,要查看发布,请参阅 Google Cloud 文档

就是这样!您现在已经将 Google Cloud 与 GitLab 集成,您的 GitLab 项目可以无缝地部署到 Google Cloud。

相关主题