Slide 1

Slide 1 text

Azure Static Web Apps の自動ビルドが タイムアウトしやすくなった状況に対応した件 2026.4.18 Global Azure 2026

Slide 2

Slide 2 text

自己紹介 名前 原 敏之 個人 X (Twitter) : @TonyTonyKun ROMANCE DAWN for the new world • https://gooner.hateblo.jp/ Microsoft MVP for Microsoft Azure 2017 仕事 株式会社ネクストスケープ Copyright© 2026, JAZUG All Rights Reserved. 2

Slide 3

Slide 3 text

背景 弊社では、事業部ごとの技術ブログを集約する Hub のようなサイトを Azure Static Web Apps + Next.js で構築しています。 https://tech-blog-hub.nextscape.net/ 3 Copyright© 2026, JAZUG All Rights Reserved. Tech Blog Hub の仕組み • ビルド時に事業部ごとの技術ブログの RSS フィードを取得する • 取得結果を静的コンテンツとしてデプロイ • GitHub Actions の Schedule トリガーで 毎日デプロイ

Slide 4

Slide 4 text

現象 最近、この GitHub Actions がタイムアウトで失敗する頻度が増え てきました。以前は、数か月に1回くらいの割合でした。 4 Copyright© 2026, JAZUG All Rights Reserved.

Slide 5

Slide 5 text

原因 エラーログを見ると、RSS フィードを取得する際にタイムアウト になっていました。 5 Copyright© 2026, JAZUG All Rights Reserved.

Slide 6

Slide 6 text

原因 SWA の自動ビルドのタイムアウトは、既定で15分に制限されて います。 試しに build_timeout_in_minutes: 30 を設定して 30分に延長して もタイムアウトになり、対処療法にすらなりませんでした。 6 Copyright© 2026, JAZUG All Rights Reserved. そもそも RSS フィードの取得に 15分以上もかかりません。 原因は、ビルドを実行している環境側にあり、SWA 側のビルドで外部サイトに依存する 処理を実行していることにありそうだと考えました。

Slide 7

Slide 7 text

対応方法 本来は RSS フィードの取得をビルドと分けることが望ましいです。 今回は、ビルド処理を SWA 側の自動ビルドから GitHub Actions 側に移すことにしました。 7 Copyright© 2026, JAZUG All Rights Reserved.

Slide 8

Slide 8 text

対応方法 8 Copyright© 2026, JAZUG All Rights Reserved. GitHub Actions 側で actions/setup-node を使って Node を固定し、yarn install と yarn build を自前で 実行させる。 SWA deploy アクションでは skip_app_build: true に設定して、生成済み out だけをアップロードする。

Slide 9

Slide 9 text

対応結果 毎日元気にデプロイできるようになりました!(1分半くらい) 9 Copyright© 2026, JAZUG All Rights Reserved.

Slide 10

Slide 10 text

まとめ Azure Static Web Apps の自動ビルドがタイムアウトしやすく なった状況に対して、GitHub Actions 側で RSS フィード取得 とビルドを行い、Azure Static Web Apps 側では成果物だけを アップロードするようにしました。 今回の件で、Azure Static Web Apps 側の自動ビルドに余計な 処理をさせ過ぎてはいけないという学びがありました。 参考:Pull Request 10 Copyright© 2026, JAZUG All Rights Reserved.