IntelliJ + Azure Web App でSpring Boot2.0 のWebアプリを動かす

Azure Web Apps上でSpring Boot2.0のWebアプリケーションを動かしてみます。

Azure Web Appsとは

Microsoft Azure(以下Azure)のWebアプリケーション向けPaaSです。.NET/Node.js/PHP/Java/Pythonのアプリをサーバーの管理なしにホスティングすることができます。

デプロイの手順

IntelliJの環境のセットアップ

IntelliJ IDEAにはMicrosoft製のAzure向けプラグイン((Azure Toolkit for IntelliJ)https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij)があるので、これを導入します。

プラグインを導入したら、メニューバーの「Tools」→「Azure」→「Azure Sign in」から Azureにサインインし、使用するSubscriptionを選択します。

Azure Web Appsへのデプロイ方法

Azure Web AppsでJavaのWebアプリケーションを動かすにはいくつか方法があります。

WAR形式でTomcatにデプロイする

HTTP/SFTP/FTPでWARファイルをアップロードして、Web Apps上のTomcatにデプロイする方法です。

Dockerにデプロイする

docker buildしたイメージをWeb App for Containersデプロイする方法です。

JAR形式で動かす

実行可能なJARファイルをデプロイし、Azure Appsの設定ファイルであるweb.config上でコマンドを指定して実行する方法です。

Java on App Service on Linux

先日プレビュー版が公開された App Service on LinuxJavaランタイムにデプロイする方法です。

ここでは、ローカルで実行するときとビルド形式を揃えたいという理由で、JARファイル形式のデプロイを試してみます。

Azure Web Appへのデプロイ

試してみると言いましたが、IntelliJからデプロイする場合は通常のSpring Bootの構成から特に変更するところはなく、コンテキストメニューの「Azure」→「Run On」からメニューに従っていけばデプロイ可能です。

なお、WARファイル形式のデプロイであっても、同様にメニューに従えばデプロイ可能です。

情報を集めるのに少し手間がかかった割に、デプロイの手順に掛ける手間が少ないので拍子抜け感があったのですが、IDEとの組み合わせでデプロイができるところはいいところだと思います。