○IntelliJ用プラグイン「Azure Toolkit for IntelliJ」

ビルドツールとしてApache Mavenを使用している場合、第3回で紹介した方法によりAzure App Service用のプラグインを導入することで、コマンドひとつで作成したアプリケーションをAzure環境上にデプロイして公開できる。この方法は手軽だが、もし開発にJetBrain社のIntelliJ IDEAを使用しているケースでは、専用のプラグインを使った簡単なデプロイ方法もある。

「Azure Toolkit for IntelliJ」は、Microsoftから提供されているオープンソースのIntelliJ用プラグインである。Javaで作成されたWebアプリのデプロイが簡単に行えるようになるほかに、仮想マシンやコンテナの管理、SQL Serverへの接続などを、IntelliJのGUI環境から行えるようになる。今回は、そのうちのWebアプリのデプロイ機能を使ってみる。

なお本稿では取り上げないが、Eclipse向けには同様のプラグインとして「Azure Toolkit for Eclipse」が提供されている。

○Azure Toolkit for IntelliJのインストール

Azure Toolkit for IntelliJは、IntelliJ IDEAのUltimate EditionまたはCommunity Editionで使用することができる。なお、筆者はmacOS版のIntelliJ IDEA Ultimate Editionで動作確認している。JDKは、macOS版Zulu OpenJDK 11 Community Editionをインストールした。

今回はサンプルプロジェクトとして、前回までに作成してきた「SampleWebApp」をそのまま使用する。これまではAzureの仮想マシン上に作ってきたはずなので、まずはscpなどを用いてこれをディレクトリごとローカルのPCにコピーしよう。コピーしたディレクトリをIntrelliJ IDEAで開けば、必要な設定が自動で行われ、プロジェクトをビルドできるようになる。

プロジェクトが開けたら、メニューから[Preferences]->[Plugins]を選んで、プラグインの設定画面を開き、Azure Toolkit for IntelliJを探そう。「Azure」をキーワードにして検索すればすぐに見つかるはずだ。[Install]ボタンでインストールできる。

Azure Toolkit for IntelliJをインストールする

プラグインをインストールすると、メニューの[View]->[Tool Windows]のところに「Azure Explorer」という項目が追加されているはずだ。これを選択すると、次のようにAzure用の管理ツールが開く。

AzureサービスへのアクセスができるAzure Explorer

このウィンドウで、矢印の部分のアイコンをクリックすれば、Azureサービスにサインインできる。最初に次のように認証方法を選択するダイアログが開くので、通常は「Device Login」を選択すればよい。

認証方法を選択する

[Sign in]ボタンをクリックすると、次のようにURLと認証コードが表示される。

表示されたURLにアクセスして認証を完了させる

ここで[COpy&Open]ボタンをクリックすると、クリップボードに認証コードがコピーされ、Webブラウザが立ち上がって認証用のページが開かれる。Azure CLIを使ったときと同様に、ここで認証コードを入力(ペースト)すればよい。認証に成功すると、IntelliJ側では次のようにサブスクリプションの選択画面が表示されるので、使用するサブスクリプションを選択すれば、サインイン完了だ。

利用するサブスクリプションを選択する

○Webアプリのデプロイ

続いて、WebアプリをAzure App Serviceにデプロイしよう。プロジェクトの右クリックメニューを開くと、下の方に「Azure」という項目が追加されているはずだ。そこから、[Azure]->[Deploy to Azure]を選ぶことで、App Serviceにデプロイすることができる。

プロジェクトの右クリックメニューからAzureへのデプロイができる

次のようにデプロイの設定ダイアログが開くので、ここでアプリ名などを指定する。

デプロイの設定ダイアログ

[WebApp]の項目にはデプロイ対象となるApp Serviceを指定するが、App Serviceが1つもない場合は「No Available webapp, click to create a new one」というリンクになっている。このリンクをクリックすれば、新しいApp Serviceを作成することができる。

新規でApp Serviceを作る場合は、次のような設定ダイアログが立ち上がる。ここで使用するWebコンテナやサービスプランなどの設定を行う。この例ではWebコンテナとして「JAVA 11-java11」を選んでいるが、これはZulu JDK 11を意味している。

新しいApp Serviceを作成する

[OK]をクリックしてしばらく待つと、App Serviceが作成されて、次のようにデプロイ設定から選べるようになる。

デプロイ対象のWebAppが選べるようになっている

最後に[Run]をクリックすれば、デプロイが実行される。

なお、Web Serviceを作成すると、Azure Explorerでは次のように[Web Apps]の項目に対象のサービスが表示される。Azureポータルに行かなくても、ここからサービスの起動や停止、再起動などを行うことができる。

Azure Explorerからサービスの起動や停止が行える

統合開発環境のプラグインを利用することで、アプリケーションの開発からAzureへのデプロイがシームレスに行えるようになる。Azure Explorerだけでできる作業は必ずしも多くはないが、App Service以外に仮想マシンの管理やDockerコンテナの管理なども行えるので、ぜひ導入しておこう。