[Azure] ARM テンプレート読み解き (GitHub から Web Apps デプロイ)
はじめに
Azure QuickStart Templates を読み込んで勉強しよう!
ということで、アウトプットもしてみます。第8弾です。
今回の読み解き対象
Azure Web App with GitHub Account
テンプレートの概要
こちらのテンプレートをデプロイすると、GitHub 上のコードを Web Apps にデプロイすることができます。
読み解く
毎度ですが、よくあるテンプレートのパターンは下記の通りです。
- パラメータ指定 (parameters)
- 変数の設定 (variables)
- デプロイするリソースの記述 (resources)
パラメータ指定 (parameters)
前半の "parameters":
から始まる部分では、テンプレート内で使われるパラメータ (変数) の設定です。テンプレートのデプロイ時に選択肢として表示させたりすることができます。
今回のテンプレートでは、Web Apps の SKU や、GitHub リポジトリの URL、ブランチなどを指定させています。
変数の設定 (variables)
"variables":
セクションでは、この yaml ファイル中で利用する変数名を設定できます。
"variables": {
"hostingPlanName": "[concat('hpn-', resourceGroup().name)]"
},
このテンプレートでは、Web Apps のホスティングプラン名を生成しているのみです。
デプロイするリソースの記述 (resources)
"resources":
セクションで、デプロイするリソースを記述しています。
今回のポイントは、Microsoft.Web/sites
リソースの中で、sourcecontrols
としてデプロイ元を指定している箇所です。
"resources": [
{
"type": "sourcecontrols",
"apiVersion": "2020-06-01",
"name": "web",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('siteName'))]"
],
"properties": {
"repoUrl": "[parameters('repoURL')]",
"branch": "[parameters('branch')]",
"isManualIntegration": true
}
}
]
こんな感じで repoUrl
や branch
で、デプロイ元の GitHub リポジトリを指定してやれば良い、ということですね。
参考 : Microsoft.Web sites/sourcecontrols
なお、今回のテンプレート中では Web Apps の OS や言語は指定されていません。このあたりを指定するには、Microsoft.Web/sites
の siteconfig
というプロパティを記述します。下記のリファレンスを参考にしてみてください。ページ下部に、様々な言語/OS の ARM テンプレートへのリンクがあります。
参考 : Microsoft.Web sites
最後に
Azure QuickStart Templates 読み解きの記事も 8 個目になりました😊
他の記事も、こちらから見ていただければ嬉しいです!
Discussion