部署到 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,可讓您新增為遠端存放庫。 推送至遠端存放庫會部署您的應用程式。
- CLI:
webapp up
是az
命令列介面的功能,可封裝您的應用程式並加以部署。 與其他部署方法不同的是,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 認可識別碼、時間戳記或其他可識別資訊來標記映像。 最好不要使用預設的「最新」標籤。 否則,很難回溯目前部署的程式碼,這會使偵錯更為困難。
- 推送已標記的映像:建置並標記映像之後,管線會將映像推送至我們的容器登錄。 在下一個步驟中,部署位置會從容器登錄提取已標記的映像。
- 使用新的映像標籤更新部署位置:更新此屬性時,站台會自動重新啟動並提取新的容器映像。