Azure Static Web Appsを使用して静的サイトを初めて構築する
この記事の内容
- Azure Static Web AppsはGitHubリポジトリと連携し、コードをプッシュするだけで自動デプロイできます
- Visual Studio Codeの拡張機能を使うことで、Azure Static Web Appsのリソース作成からデプロイまでをIDE上で完結できます
- GitHub Actionsが自動的に構成され、コミット・プッシュのたびにビルドとデプロイが走ります
- フレームワークなし(バニラHTML)の構成でも問題なく動作します
- 作成されたサイトには
.azurestaticapps.netドメインが自動的に割り当てられます
Azure Static Web Appsとは
Azure Static Web Appsは、静的なWebサイトをホスティングするためのAzureサービスです。GitHubリポジトリと直接連携し、コードをコミット・プッシュするたびにGitHub Actionsが自動的に実行されてビルド・デプロイが行われます。
Azureにはサービスが非常に多く、触ったことがないものもたくさんあります。クイックスタートをやってみることで、実際に手を動かして理解を深めるのが効果的です。本記事では、そのクイックスタートの内容をもとに、Azure Static Web Appsで静的サイトを構築する流れを解説します。
事前準備
以下のものが必要です。
- Azureアカウント
- GitHubアカウント
- Visual Studio Code
- Visual Studio Code の Azure Static Web Apps 拡張機能
拡張機能はまだインストールされていない場合、VS Codeの拡張機能マーケットプレイスから「Azure Static Web Apps」を検索してインストールします。
GitHubリポジトリの作成
まず、デプロイするコードを管理するGitHubリポジトリを作成します。
今回はフレームワークなし(プリセット:なし)で進めます。リポジトリはプライベートで作成しました。作成後、リポジトリには index.html などの基本的なファイルが含まれています。
ローカルにクローンしてVS Codeで開く
作成したリポジトリをローカルにクローンし、該当フォルダに移動します。
git clone <リポジトリURL>
cd <リポジトリ名>
続いてVisual Studio Codeでフォルダを開きます。
code .
Azure Static Web Appsリソースの作成
VS CodeにAzure Static Web Apps拡張機能をインストールすると、サイドバーにAzureパネルが表示されます。
- AzureパネルからAzureにサインインします
- サブスクリプションが表示されることを確認します
- Static Web Appsの項目の「+」ボタンをクリックして新規リソースを作成します
- GitHubへのサインインを求められるので、承認して続行します
続いて以下の情報を入力・選択します。
| 項目 | 設定値 |
|---|---|
| アプリケーション名 | my-first-static-web-app(任意) |
| プリセット | なし(フレームワークなし) |
| アプリコードの場所 | /(ルート) |
| Azure Functionsのコード場所 | (今回は未設定) |
| ビルド出力場所 | .(今回の構成に合わせて設定) |
| リージョン | East Asia(最も近いリージョン) |
設定が完了すると「Successfully created」と表示され、リソースの作成が成功します。
GitHub Actionsによる自動デプロイ
リソースを作成すると、GitHubリポジトリにGitHub Actionsのワークフローファイルが自動的に追加されます。これはAzure Static Web Apps拡張機能が自動で構成してくれるため、手動での設定は不要です。
ワークフローが実行されると、VS Codeのアクションパネルにビルドとデプロイの状況がリアルタイムで表示されます。ビルドが完了すると、デプロイも自動的に行われます。
サイトの確認
デプロイが完了したら、作成されたサイトにアクセスします。VS Codeの拡張機能から「Browse Site」をクリックするか、Azureポータルから確認します。
割り当てられるURLは以下のような形式です。
このURLにアクセスすると、作成した静的サイトが表示されます。
コードを更新して自動デプロイを確認する
Azure Static Web Appsの便利なところは、コードを変更してプッシュするだけで自動的にサイトが更新される点です。
index.html などのファイルを編集してコミット・プッシュします。
git add .
git commit -m "Update index.html"
git push
プッシュ後、GitHub Actionsが自動的に起動し、新しいビルドとデプロイジョブが走ります。完了後にサイトを確認すると、変更内容が反映されています。人間が何かをするのではなく、コンピューターが自動的に動いてくれるこのワークフローは非常にスマートです。
Azure Static Web Appsの構成確認
Azureポータルでリソースを確認すると、以下のような情報が確認できます。
- GitHubリポジトリとの連携状況: どのリポジトリのどのブランチと紐づいているかが表示されます
- カスタムドメイン: 独自ドメインの設定も可能です
- Functionsの設定: 今回はFunctionsを設定していないため、該当箇所は空になっています
- プロダクション環境: デプロイされたステージングや本番の状態を確認できます
まとめ
今回はAzure Static Web Appsのクイックスタートとして、静的サイトの初回構築を行いました。
- Visual Studio Codeの拡張機能を使うことで、GitHubリポジトリの連携からリソース作成、初回デプロイまでをスムーズに完結できます
- GitHub Actionsのワークフローは自動的に構成されるため、CI/CDの知識がなくても自動デプロイ環境がすぐに整います
- コードをプッシュするだけでサイトが更新されるため、開発フローが非常にシンプルになります
次のステップとして、APIの追加(Azure Functions連携)なども可能です。静的サイトのホスティングをお手軽に始めたい方にとって、Azure Static Web Appsは非常に入門しやすいサービスです。