Gralde で Azure Web Apps にデプロイする
Gradle を使って Azure Web Apps にデプロイする必要があったので、その覚え書きです。いつもは maven を使っている Gradle 初心者です。
リポジトリは以下で公開されており、
プラグイン情報は以下から参照できます
GithubのほうはReleaseタグが真面目に切られていない気がしますが、執筆時点での最新版は、 Dec 2021 にリリースされた 1.2.2
です。 Maven プラグインと比べても歩調を合わせてアップデートされているようには見えます。
設定方法
ゼロからやろうとすると、色々説明することが多いので、すでに az コマンドサブスクリプションに繋がっている前提で話しを進めます。
細かい話は、Github Wiki に書かれているので参考にしてください。
普段、Gradle を使ってないのでよく理解していないのですが、新しい記述方式と古い方式があって、さらに Groovy
やら kotlin
やらで記述方式が違うようで初心者にとっては悩ましい。
新しい方式(DSL)では以下、
plugins {
id 'com.microsoft.azure.azurewebapp' version '1.2.2'
}
レガシー形式では以下のようです。適当にbuild.gradle
に書き込みます。
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "com.microsoft.azure:azure-webapp-gradle-plugin:1.2.2"
}
}
apply plugin: "com.microsoft.azure.azurewebapp"
デプロイ先の設定
デプロイ先の設定も build.gralde
に記述します。ざっと、Azure 上にApp Serviceがある状態ならば、以下でデプロイできます。
appServicePlanResourceGroup
や appServicePlanName
も指定できるので、リソースが無い状態からきっとデプロイできるでしょう。
azurewebapp {
subscription = '11111111-1111-1111-1111-111111111111'
resourceGroup = 'some-resource-group'
appName = 'some-webapp-service'
pricingTier = 'P1v2'
region = 'japaneast'
runtime {
os = 'Windows'
webContainer = 'Java SE'
javaVersion = 'Java 8'
}
}
デプロイ
gradle azureWebAppDeploy
でデプロイできます。
雑感
Maven版は、Configがあって、設定をインタラクティブに聞いてくれるGoal があったハズなので、ちょっと面倒といえば面倒。
参考
動画付きで以下のDevBlobにも紹介されておりました(が見てません)
ちなみにMaven版は以下です。