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

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

完成 skaffold.yaml 文件的配置后,请务必指定容器映像的存储位置,也就是即将推送项目映像的位置。

自动项目引导

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

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

前提条件

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

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

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

设置 Kubernetes 运行配置

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

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

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

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

    指定要在 `skaffold.yaml` 文件中使用的 build 设置

    或者,您也可以通过依次前往工具 > Cloud Code > Kubernetes 并选择添加 Kubernetes 支持来设置 skaffold.yaml 文件。

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

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

手动创建 Cloud Code skaffold.yaml 配置

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

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

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

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

    使用 `skaffold.yaml` 模板

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

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

    创建 Kubernetes 运行目标的通知

Cloud Code skaffold.yaml 配置示例

  • 基于 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 RegistryDockerHub 或私有存储库)后,修改运行配置,并将其指定为运行配置设置中的默认映像存储库。

这些项可以从顶部任务栏的“运行/调试配置”(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 > 帮助 / 简介 > 提交反馈或报告问题,在 GitHub 上报告问题。