Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

Azure App Service と Github Actions で デプロイを自動化しよう!

おいす〜!

オルターブース エンジニアのはっしーです!

入社して2か月が経ちました。最初の目標であったAZ-900も無事取得できました!

docs.microsoft.com

日々まわりのつよつよエンジニアの皆さんに圧倒されながら、Azureを楽しんでいます!

さて今回はAzure App Service と GitHub Actionsを使って、CI/CDを構築しデプロイを自動化する方法を紹介します。

概要

  • Azure App Service を作成
  • デプロイセンターでCI/CDを設定し、コードをデプロイ

f:id:h455h1:20220314001402p:plain
全体図

準備


  • 使用するサンプルコード(リポジトリを自分のアカウントにForkして下さいー)

github.com

  • Azureアカウントの作成

azure.microsoft.com

手順

Azure App Service を作成

  • Azure Potalにアクセスします。https://portal.azure.com/

  • App Serviceを選択。もしくは検索ボックスでApp Serviceを入力し、選択する。 f:id:h455h1:20220314003843p:plain

  • 作成を選択します。 f:id:h455h1:20220314005154j:plain

  • 使用するサブスクリプションを選択します。

  • 新規作成でリソースグループを作成し、選択します。 事前に作成したリソースグループがあればそちらを選択しましょう。

 ※リソースグループとは同じアプリやシステムなどで使うAzureサービスをグループ化できるものです。管理がしやすくなります。 f:id:h455h1:20220314005449j:plain

  • 名前: 任意の名前
  • ランタイム: 使用した言語のバージョンを選択します。今回はNode 16 LTS を使用しました。
  • 地域: Japan Westを選択。(※デプロイするアプリのユーザーに近い地域を選びましょう、通信速度上のメリットがあります) f:id:h455h1:20220314010149j:plain

  • Linuxプラン: 新規作成。任意の名前を付ける。

  • SKUとサイズ: 無料のFree F1プランを選択します。(※特に理由がなければ開発では無料プランで使うようにしましょう) f:id:h455h1:20220314010230p:plain

  • 確認および作成を選択し、アプリの設定を確認、作成します。 f:id:h455h1:20220314010532p:plain

  • App Serviceのデプロイが完了したら、リソースに移動します。 f:id:h455h1:20220314010837j:plain

CI/CDを設定して、コードをデプロイする

  • デプロイセンターを選択します。 f:id:h455h1:20220314011116j:plain

  • ソースを選択し、アカウント連携を承認します。 f:id:h455h1:20220314011251j:plain f:id:h455h1:20220314011450j:plain

  • デプロイするGitHubアカウント、リポジトリ、ブランチを選択する。 f:id:h455h1:20220314011823j:plain

  • 保存を選択すると、デプロイが開始される。 f:id:h455h1:20220314012016j:plain

GitHub Actionsでデプロイ状況を確認

  • デプロイに使用した、GitHubのリポジトリページを開く。
  • Actionsを選択します。 f:id:h455h1:20220314013112j:plain

  • ワークフローを選択します。 f:id:h455h1:20220314013247j:plain

  • 進行しているワークフローが確認できます。 f:id:h455h1:20220314013413j:plain

  • デプロイが完了したら、URLからページへアクセスします。 f:id:h455h1:20220314013642j:plain

  • 今回のサンプルでは以下のようなページが表示されます! f:id:h455h1:20220314013727j:plain

まとめ

AzurePortalを操作するだけで簡単にCI/CDを構築してデプロイすることができました!

今後は変更をPushするたびに自動的に再度デプロイしてくれます!

開発を始めてすぐにCI/CDを構築し、デプロイしておくことで同じ作業を繰り返す必要がなく、機能開発に集中できますね!

簡単にできるのでぜひ試してみてください!