部署到 App Service

已完成

每個開發小組都有獨特需求,可能會讓在任何雲端服務上實作有效率部署管線變得困難。 App Service 支援自動化和手動部署。

自動化部署

自動化部署或持續部署是一種程序,可在對終端使用者影響最小的情況下,以快速且重複的模式推出新功能與 Bug 修正。

Azure 支援直接從數個來源進行自動化部署。 下列是可用的選項:

  • Azure DevOps Services:您可以將程式碼推送至 Azure DevOps Services、在雲端中建置程式碼、執行測試、從程式碼產生版本,最後將程式碼推送至 Azure Web 應用程式。
  • GitHub:Azure 支援直接從 GitHub 進行自動化部署。 當您將 GitHub 存放庫連線到 Azure 以進行自動化部署時,您推送至 GitHub 生產分支的任何變更都將自動為您部署。
  • Bitbucket:由於其與 GitHub 相似,您可以使用 Bitbucket 設定自動化部署。

手動部署

有一些選項可讓您以手動方式將程式碼推送至 Azure:

  • Git:App Service Web 應用程式具備 Git URL,可讓您新增為遠端存放庫。 推送至遠端存放庫會部署您的應用程式。
  • CLIwebapp upaz 命令列介面的功能,可封裝您的應用程式並加以部署。 與其他部署方法不同的是,az webapp up 可為您建立新的 App Service Web 應用程式 (如果您尚未建立)。
  • Zip deploy:使用 curl 或類似的 HTTP 公用程式,將應用程式檔案的 ZIP 傳送至 App Service。
  • FTP/S:FTP 或 FTPS 是將程式碼推送至任何裝載環境 (含 App Service) 的傳統方式。

使用部署位置

盡可能在部署新生產環境組建時,使用部署位置。 使用標準 App Service 方案層或更好的方案層時,您可以將應用程式部署至預備環境,然後交換預備和生產位置。 交換作業會準備必要的背景工作角色執行個體,以符合您的生產規模,進而消除停機時間。

連續部署程式碼

如果您的專案已指定用於測試、QA 和預備的分支,則其中每個分支都應該持續部署到預備位置。 這可讓專案關係人輕鬆地評估及測試已部署的分支。

持續部署容器

針對來自 Azure Container Registry 或其他容器登錄的自訂容器,請將映像部署到預備位置,並交換至生產環境,以避免停機。 自動化比程式碼部署更為複雜,因為您必須將映像推送至容器登錄,並在 Web 應用程式上更新映像標籤。

  • 建置並標記映像:在建置管線的過程中,使用 Git 認可識別碼、時間戳記或其他可識別資訊來標記映像。 最好不要使用預設的「最新」標籤。 否則,很難回溯目前部署的程式碼,這會使偵錯更為困難。
  • 推送已標記的映像:建置並標記映像之後,管線會將映像推送至我們的容器登錄。 在下一個步驟中,部署位置會從容器登錄提取已標記的映像。
  • 使用新的映像標籤更新部署位置:更新此屬性時,站台會自動重新啟動並提取新的容器映像。