使用 Cloud Code for IntelliJ 中的现有应用

如果您已使用 Kubernetes 清单、Dockerfile 或 Jib 配置了某一现有项目以构建映像,则可以打开这个应用,并将其与该插件一起使用。唯一需要增加的一个配置是 Skaffold YAML 文件,您可以让系统自动为您生成此文件,或使用提供的模板创建。

在完成 Skaffold YAML 配置后,请务必指定容器映像的存储位置,也就是即将推送项目映像的位置。

自动项目引导

您的项目必须具有一个或多个 Kubernetes 清单。如果 Cloud Code 检测到项目中的任何 Kubernetes 清单,则 Cloud Code 将尝试引导。

如果 Cloud Code 未检测到现有的 Skaffold 配置,系统会提示您进行设置。

前提条件

您的项目必须满足以下前提条件,系统才会提示创建 skaffold.yaml 文件并运行所有必要的配置:

  • (选项 1)您的项目具有 Dockerfile 并已进行 Jib 配置,或者

  • (选项 2)您的项目可使用 Buildpack 进行构建,并且具有 Kubernetes 资源。

设置 Skaffold 配置

如果满足前提条件,则 Cloud Code 会通过通知提示您创建 skaffold.yaml 文件(如果此文件尚不存在)以及所有必要的运行配置:

包含用于创建 Cloud Code Kubernetes 运行配置的链接的通知

  1. 点击此通知。如果可能,这将自动创建配置。

    如果由于检测到多个映像或构建器而无法自动创建 Skaffold 配置,则 Cloud Code 会显示一个对话框,要求您提供检测到的映像与构建器之间的映射。

    指定要在 Skaffold 配置中使用的构建设置

    或者,您也可以通过转到工具 > Cloud Code > Kubernetes 并选择添加 Kubernetes 支持 (Add Kubernetes Support) 来设置 Skaffold 配置。

    此选项会分析项目的 Kubernetes 资源,并生成 skaffold.yaml 文件(如果此文件尚不存在)以及必要的运行配置。生成的两项运行配置一个用于在 Kubernetes 上运行项目,另一个用于在 Kubernetes 集群上进行开发。

  2. 添加支持后,您可以使用新添加的运行配置开始在 Kubernetes 上运行和调试您的项目。

手动创建 Cloud Code Skaffold 配置

您可以选择手动创建一个新的 skaffold.yaml 文件,也可以将现有文件添加到项目中。

如需使用实时模板手动创建 skaffold.yaml 文件,请按照以下步骤操作:

  1. 在项目的根目录中创建名为 skaffold.yaml 的新文件(右键点击 > 新建 > 文件)。

  2. 将光标移到新文件中,按 Ctrl+Space 显示实时模板建议,然后选择所需的 Skaffold 模板。

    使用 Skaffold YAML 模板

  3. 使用项目映像名称填充 image 字段,并使用您希望从 IDE 部署的 Kubernetes 资源列表填充 manifests 字段。

  4. 在 Cloud Code 确定 skaffold.yaml 文件有效后,点击提示以创建 Kubernetes 运行配置。

    创建 Kubernetes 运行目标的通知

Cloud Code Skaffold 配置示例

  • 基于 Dockerfile 的构建:

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    
  • 使用 Jib 插件的 Java Maven/Gradle 项目的构建部分(部署部分与上述示例相同):

    build:
    artifacts:
    - image: image_name
      jib: {}
    
  • 如果要为不同的上下文定义构建、测试和部署配置,可以使用不同的配置文件。以下是一个 Cloud Build 配置文件示例,用于配置 Cloud Code 以使用 Cloud Build 构建映像:

    profiles:
    # use the cloudbuild profile to build images using Google Cloud Build
    - name: cloudbuild
      build:
        googleCloudBuild: {}
    
  • 如果您要使用 Helm 部署项目,请参阅 Helm 文档

指定容器映像的存储位置

容器映像存储

在部署应用之前,您需要定义一个默认映像存储区以用于您的项目。

默认情况下,项目配置为使用 Kubernetes 清单中指定的映像名称。您还可以自定义此映像规范。设置好首选存储库(Artifact RegistryContainer RegistryDockerHub、私有存储库等)后,修改运行配置,并将其指定为运行配置设置中的默认映像存储库。对于 Google Container Registry 映像,该字段配备了自动补全功能,可帮助您更快地找到 Container Registry 代码库。

这些项可以从顶部任务栏的“运行/调试配置”(Run/Debug configurations) 对话框访问,该对话框位于修改配置 (Edit Configurations) > 在 Kubernetes 上开发 (Develop on Kubernetes) > 映像代码库 (Image repository)。

使用“gcr.io/”格式设置运行配置中的默认映像存储区,并根据当前项目和活跃集群显示自动补全选项

如需详细了解如何指定容器映像偏好设置,请参阅配置容器映像设置指南

构建设置

设置容器映像后,可以配置其构建设置。Cloud Code 支持 Docker、Jib 和 Buildpacks 工件类型。

在运行配置设置的 Build / Deploy 标签页上(Edit Configurations > Develop on Kubernetes),您可以配置默认配置文件的构建设置。

“Build/Deploy”标签页中显示的构建设置

如需详细了解如何指定映像的构建设置,请参阅配置容器映像构建偏好设置指南

获取支持

如需在 IntelliJ IDE 中提交反馈或报告问题,请转到工具 > Cloud Code > 帮助/简介 > 提交反馈或报告问题 (Submit feedback or report an issue),在 GitHub 上报告问题或在 Stack Overflow 上提问。

您还可以加入属于 Google Cloud Slack 社区#cloud-code 频道。