🎼

[Azure] ARM テンプレート読み解き (GitHub から Web Apps デプロイ)

2021/02/16に公開

はじめに

Azure QuickStart Templates を読み込んで勉強しよう!
ということで、アウトプットもしてみます。第8弾です。

今回の読み解き対象

Azure Web App with GitHub Account

テンプレートの概要

こちらのテンプレートをデプロイすると、GitHub 上のコードを Web Apps にデプロイすることができます。

読み解く

毎度ですが、よくあるテンプレートのパターンは下記の通りです。

  1. パラメータ指定 (parameters)
  2. 変数の設定 (variables)
  3. デプロイするリソースの記述 (resources)

パラメータ指定 (parameters)

前半の "parameters": から始まる部分では、テンプレート内で使われるパラメータ (変数) の設定です。テンプレートのデプロイ時に選択肢として表示させたりすることができます。

今回のテンプレートでは、Web Apps の SKU や、GitHub リポジトリの URL、ブランチなどを指定させています。

変数の設定 (variables)

"variables": セクションでは、この yaml ファイル中で利用する変数名を設定できます。

azuredeploy.json
    "variables": {
        "hostingPlanName": "[concat('hpn-', resourceGroup().name)]"
    },

このテンプレートでは、Web Apps のホスティングプラン名を生成しているのみです。

デプロイするリソースの記述 (resources)

"resources": セクションで、デプロイするリソースを記述しています。

今回のポイントは、Microsoft.Web/sites リソースの中で、sourcecontrols としてデプロイ元を指定している箇所です。

azuredeploy.json
  "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
          }
      }
  ]

こんな感じで repoUrlbranch で、デプロイ元の GitHub リポジトリを指定してやれば良い、ということですね。

参考 : Microsoft.Web sites/sourcecontrols

なお、今回のテンプレート中では Web Apps の OS や言語は指定されていません。このあたりを指定するには、Microsoft.Web/sitessiteconfig というプロパティを記述します。下記のリファレンスを参考にしてみてください。ページ下部に、様々な言語/OS の ARM テンプレートへのリンクがあります。

参考 : Microsoft.Web sites

最後に

Azure QuickStart Templates 読み解きの記事も 8 個目になりました😊

他の記事も、こちらから見ていただければ嬉しいです!

Discussion