🐷

Azure環境にAppServiceを使ってデプロイする方法

2024/05/31に公開

自社のAzure上にコンテナアプリケーションをデプロイするまでの手順は以下の通りです。

  1. Azure Container Registryの作成

    • Azureポータルにログインし、新しいContainer Registryを作成します。
    • SKUは必要に応じて選択します(Basic, Standard, Premium)。
    • レジストリ名、サブスクリプション、リソースグループ、ロケーションを設定し、作成します。
  2. コンテナイメージのビルドとプッシュ

    • ローカル環境でDockerfileを用意し、コンテナイメージをビルドします。
      docker build --tag <タグ名>:<バージョン> --platform linux/x86_64 .
      
    • ビルドしたイメージにContainer Registryのタグを付けます。
      docker tag <タグ名>:<バージョン>  <ログインサーバー>/<タグ名>:<バージョン>
      
    • Azure CLIでAzureにログインし、Container Registryにログインします。
      az login
      az acr login --name <Container Registryのレジストリ名>
      
    • タグ付けしたイメージをContainer Registryにプッシュします。
      docker push <ログインサーバー>/<タグ名>:<バージョン>
      
  3. Azure App Serviceの作成

    • Azureポータルで新しいApp Serviceを作成します。
    • 「公開」で「Dockerコンテナー」を選択します。
    • 「Docker」セクションで、以下を設定します:
      • イメージソース:Azure Container Registry
      • レジストリ:先ほど作成したContainer Registry
      • イメージ:プッシュしたリポジトリ名
      • タグ:プッシュしたタグ名
    • App Serviceの他の設定(名前、OS、地域、SKUなど)を必要に応じて行います。
    • Container Registryの管理者ユーザーが有効化されていることを確認します。
  4. Webhookの設定によるContinuous Delivery

    • App Serviceの「デプロイセンター」から「継続的デプロイ」を「オン」にします。
    • これにより、Container RegistryにWebhookが自動的に追加されます。
    • Container RegistryのWebhooksにApp ServiceのWebhook URLが追加され、有効化されていることを確認します。
  5. 動作確認

    • ローカルでコンテナイメージを更新し、Container Registryにプッシュします。
    • App Serviceが自動的に再デプロイされ、最新のコンテナイメージが反映されることを確認します。

以上の手順により、自社のAzure環境でコンテナアプリケーションをデプロイし、Webhookを使ったシンプルなContinuous Deliveryを実現することができます。

Discussion