Azure Static Web App設定GitHub Actions自動部署

GitHub pages樣樣都好,唯獨免費的就是一定要public公倉(還有一點就是必須要放在根目錄,但這不在此次討論的範圍內),所幸我們有Azure Static Web App解決方案,在很大容許的額度內幾乎是免費的,今天就是要討論如何透過將網頁程式碼推送到GitHub,透過GitHub Actions自動往Azure Static Web App推送。

Azure Static Web App設定

Step 1. 首先你要有微軟帳戶,並到Azure把你的身分、信用卡、帳單地址都設定好,為了免除以後的麻煩,建議一律選隨用隨付方案即可,如果是初次申請的話還擁有第一年免費額度喔。

Step 2. 全部都申請好後,進入Azure新增一個Azure Static Web App

Step 3. 接著就開始設定一些基本資料,如下圖。最下方必須登入你的GitHub帳號,並授予寫入的權限。

Step 4. 歸功於Microsoft購入GitHub,因此Azure已經把所有的參數都整理上去了,直接在這邊設定好就可以自動幫你編寫Actions YML設定檔,超爽的。

上圖比較需要注意的是應用程式位置,這個是指你在Visual Studio的專案位置(不是解決方案位置喔),基本上解決方案與專案的目錄關係是:

X:\解決方案\專案\輸出位置

設定Azure Static Web App自訂網域

如果網站都架設好後,Azure會給你一個亂數的網址,如果沒有正式用途的話,一般這個網址拿來測試已經夠用。如果你有正式用途的話建議申請自訂網域,申請的方式就是進入到Static Web App(靜態Web應用程式)後看左邊的選單,會有一個叫做自訂網域的選項,點選進入之後可以新增自訂網域

自訂網域是採用CNAME的方式來驗證,也就是你必須把CNAME隨機亂數出來的值,設定到你自己的DNS中,才可以讓狀態變成下圖中的已驗證。(有時驗證需要很長的時間,半小時以上都有可能),另外若你的網域名稱有開通Cloudflare DNS Proxy,記得關閉才可以通過驗證喔。

一旦驗證後,Azure會幫你自動申請一張專屬的網域憑證,簽發單位是DigiCert, Inc.

靜態Web應用程式 AzureStaticWebApp GitHubActions AutoDeploy CI/CD CustomDNS CloudflareDNSProxy