このドキュメントでは、IntelliJ ベースの App Engine プロジェクトを Cloud Code for IntelliJ に移行する方法について説明します。
始める前に
Maven または Gradle ベースのプロジェクトで、古い App Engine SDK ベースのプラグイン(
com.google.appengine.appengine-maven-plugin
やcom.google.appengine:gradle-appengine-plugin
など)を使っている場合は、最初に新しい gcloud CLI ベースの Maven と Gradle のプラグインに移行する必要があります。新しいプラグインは Datanucleus エンハンスメントに対応していません。この機能に依存している場合は、プロジェクトの Datanucleus(JDO、JPA)エンハンスメントを手動で構成して Cloud Code に移行する必要があります。Datastore に対して読み書きを行う場合は、Objectify を ORM レイヤとして使用する必要があります。
新規プラグインのインストール
まだプラグインをインストールしていない場合は、次の手順でインストールします。
- マシンの
PATH
に、サポート対象の IDE バージョンである JetBrains IDE バージョン 2022.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 とプロジェクトで新しいプラグインを使用するように構成します。
新しいプラグインと既存の App Engine 統合との競合について通知されたら、プロンプト内のリンクをクリックします。
次の [Disable Plugin] プロンプトで [Disable and Restart] を選択し、App Engine プラグインを無効にして、プラグイン構成の変更を有効にするために IDE を再起動します。
プロジェクトが古い形式であることが通知されたら、プロジェクトを新しい形式に変換するオプションをクリックします。
既存の App Engine Server インスタンスと Cloud インスタンスを削除し、新しい gcloud CLI を使用して再作成する必要があります。
[Settings] > [Build, Execution, Deployment] > [Application Servers] に移動します。
App Engine Dev インスタンスを選択し、[Delete](-)をクリックします。
[Add](+)をクリックし、[Google App Engine Dev Server] を選択します。
[Settings] > [Build, Execution, Deployment] > [Clouds] に移動します。
Google App Engine のクラウド インスタンスを選択し、[Delete](-)をクリックします。
[Add](+)をクリックして、App Engine クラウド デプロイメント ターゲットを構成します。
App Engine のローカル サーバーの実行構成がある場合は、新しく構成した Application Server を使用するように更新する必要があります。
[ツール] > [Cloud Code] > [App Engine] に移動して、アプリケーションの実行とデプロイに使用可能なアクションのリストを確認します。詳しくは、こちらのドキュメントをご覧ください。
Maven または Gradle ベースのプロジェクトの場合は、最新の Gradle プラグインと Maven App Engine プラグインを使用するようにしてください。
IntelliJ 固有のプロジェクトの構成
IntelliJ 固有のプロジェクト(古い App Engine ファセットを使って手動で構成し、Gradle や Maven からは同期していないプロジェクト)のみ、App Engine の依存関係を更新します。
App Engine の依存関係は「外部ライブラリ」として構成され、以前の App Engine SDK のインストールによって提供されます。App Engine SDK のインストールを削除すると、アプリケーションはコンパイルされません。
古い App Engine SDK に依存する関係を解消するには、App Engine Facet ライブラリのインポート機能を使用して、App Engine API の依存関係を次のように構成します。
古いプラグインの Datanucleus JDO/JPA エンハンスメントを使用しているユーザーは、Datanucleus エンハンスメントが Cloud Code プラグインでサポートされていないため、アプリケーションを Maven または Gradle に移植する必要があります。
IntelliJ Project Structure の画面から、App Engine Standard モジュールの [dependencies] タブに移動します。
App Engine の関連ライブラリをすべて削除します。
同じ Project Structure の画面で、App Engine モジュールの Google App Engine ファセットに移動します。
[Libraries] パネルで、使用している App Engine の依存関係を選択します。
このアクションにより、これらの依存関係が Maven Central から自動的に取得され、モジュールのクラスパスに追加されます。
ローカルで実行してデプロイし、新しい構成が機能していることを確認します。
これで、古い App Engine SDK を削除しても安全です。