迁移到 Cloud Code

本文档介绍了如何将基于 IntelliJ 的 App Engine 项目迁移到 Cloud Code。

准备工作

  • 如果您的项目基于 Maven 或 Gradle,且使用较旧的基于 App Engine SDK 的插件(例如 com.google.appengine.appengine-maven-plugincom.google.appengine:gradle-appengine-plugin),您应该先迁移到新的基于 Cloud SDK 的 MavenGradle 插件。

  • 新插件不支持 Datanucleus 增强功能。如果您依赖于此功能,则必须手动配置 Datanucleus(JDOJPA)增强功能,以便将项目迁移到 Cloud Code。 在对 Datastore 执行读取/写入操作时,您应该使用 Objectify 作为 ORM 层。

安装新插件

如果您尚未安装新插件,请执行以下操作来进行安装:

  • 确保在机器的 PATH 中安装受支持的 IDE 版本(JetBrains IDE 2019.3 或更高版本(如 IntelliJ Ultimate 版/Community 版、PyCharm Professional 版/Community 版、WebStorm、GoLand))。
  • 打开 IntelliJ IDEA(或任何受支持的 JetBrains IDE)。
  • 使用 File > Settings > Plugins 打开插件市场窗口。对于 Mac OS X,请使用 IntelliJ IDEA > Preferences > Plugins
  • 搜索“Cloud Code”插件并进行安装。

    系统可能会提示您重启 IDE 以激活该插件。

配置 IntelliJ 和您的项目

安装插件后,请配置 IntelliJ 和您的项目以使用新插件,如下所示:

  1. 如果系统提示新插件与现有 App Engine 集成冲突,请接受提示以停用旧插件。

    显示插件冲突通知以及插件停用提示的屏幕截图。

  2. 重启 IntelliJ。

  3. 如果系统提示您的项目格式太旧,请点击 Convert 以将项目转换为新格式。

    显示有关项目格式太旧的通知以及有关转换格式的提示的屏幕截图。

  4. 您应该删除现有的 App Engine 服务器和 Cloud 实例,并使用新的 Cloud SDK 重新创建它们。

    1. 转到设置 - > 构建、执行、部署 (Build, Execution, Deployment) - > 应用服务器 (Application Servers)。

    2. 选择您的 App Engine 开发实例,然后点击删除 (-)。

    3. 点击 Add (+) 并选择 Google App Engine Dev Server

      显示应用服务器列表以及删除和添加图标的屏幕截图。

    4. 转到 Settings -> Build, Execution, Deployment -> Clouds

    5. 选择您的 Google App Engine 云实例,然后点击删除 (-)。

    6. 点击 Add (+) 以配置 App Engine 云部署目标。

      显示云实例列表以及删除和添加图标的屏幕截图。

  5. 如果您有任何 App Engine 本地服务器运行配置,则必须将其更新为使用新配置的应用服务器。

  6. 转到 Tools -> Cloud Code,以查看可用于运行和部署应用的操作列表,或查看文档以获取更多信息。

  7. 对于基于 Maven 或 Gradle 的项目,请确保您使用的是最新版本的 Maven App Engine Plugin 或 Gradle App Engine Plugin。

配置原生 IntelliJ 项目

请仅为原生 IntelliJ 项目(即,使用旧 App Engine 构面手动配置项目设置且未从 Gradle 或 Maven 同步的项目)更新 App Engine 依赖项。

您的 App Engine 依赖项仍配置为“外部库”(External Libraries),并由旧的 App Engine SDK 安装提供。如果删除安装的 App Engine SDK,应用将无法编译。

显示外部库列表的屏幕截图。

如需移除对旧 App Engine SDK 的这种依赖关系,请使用 App Engine Facet 库导入功能配置 App Engine API 依赖项,如下所示:

  1. 旧插件的 Datanucleus JDO/JPA 增强功能的用户需要将应用移植到 Maven 或 Gradle,因为 Cloud Code 插件不支持 Datanucleus 增强功能。

  2. 从 IntelliJ 项目结构界面中,转到 App Engine 标准模块的依赖项标签。

  3. 移除所有 App Engine 相关库。

    显示外部库列表以及删除图标的屏幕截图。

  4. 在同一个项目结构界面中,转到 App Engine 模块的 Google App Engine 构面。

  5. Libraries 面板中,选择您正在使用的 App Engine 依赖项。

    显示可供选择的库列表的屏幕截图。

    此操作将自动从 Maven Central 中检索这些依赖项,并将它们添加到您的模块类路径中。

  6. 在本地运行并部署以验证新配置是否正常工作。

  7. 此时,您可以安全地删除旧的 App Engine SDK。

获取支持

如需发送反馈,请在 GitHub 上报告问题,或者在 Stack Overflow 上提问。