目的
Spring BootのWebアプリを、AzureのApp Serviceにデプロイする。
前提条件
Eclipse + Gradle でSpring スタータープロジェクトとして作成したものをデプロイする。
App Serviceの作成
・TomcatとJavaのバージョンをWebアプリケーションと合わせる。
・OSはWindowsにすると、App Service Editorが使えるので便利。
Warファイルの作成
Create a Deployable War File
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file
上記手順に従ってデプロイ可能なwarファイルを作る。
@SpringBootApplication
の付いたクラスにSpringBootServletInitializer
を継承させる。
かつ、build.gradleにwarのプラグインを追加し、TomcatをprovidedRuntime
にする。
apply plugin: 'war'
dependencies {
// warにTomcatを含めない
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}
WARファイルをAzureへ置く
App Service Editorを使用すると簡単。App Service Editorとは、App Service上のファイルをVisual Studio CodeみたいなGUIで直接編集できるツール。App ServiceのOSがWindowsの場合のみ使用できる。
既にROOTフォルダがある場合は削除しておく。
App Service Editorのエクスプローラーの部分へ、作成したWARファイルをドラッグ&ドロップしてアップロードする。
アップロード先のフォルダ、またはエクスプローラーの余白で右クリック→「Upload File」でもアップロードできる。
しばらく待つと、WARファイルが展開される。
おまけ:Tomcat入りのjarファイルをデプロイする方法
Spring Boot Deployment On Azure App Service — Zero Code Approach
https://medium.com/@k32y/spring-boot-deployment-on-azure-app-service-zero-code-approach-88305c8d0818