建立部署位置
- 10 分鐘
組織通常需要在隔離的環境中執行 Web 應用程式,以在部署之前進行測試。 他們也需要快速部署,而不會影響使用者。
假設您正在考慮是否使用插槽功能作為在您的社交媒體系統中部署 Web 應用程式的一種簡化方式。 您想要了解部署位置是否可縮短部署期間的停機時間、是否可讓復原更容易進行,以及是否可以在 Azure 中加以設定。
在這裡,您將了解部署位置如何能讓新程式碼的測試和推出更容易進行。
使用部署位置
在單一 Azure App Service Web 應用程式中,您可以建立多個部署位置。 每個插槽都是該 Web 應用程式的個別實例,而且具有個別的主機名稱。 您可以將不同版本的 Web 應用程式部署到每個位置。
其中一個位置是生產位置。 此位置是使用者連線時所看見的 Web 應用程式。 請確定部署至此位置的應用程式穩定且經過良好測試。
使用其他的位置來裝載新版的 Web 應用程式。 針對這些實例,您可以執行測試,例如整合測試、驗收測試和容量測試。 請在將程式碼移至生產位置之前修正所有問題。 其他部署位置的運作方式就像其自己的 App Service 執行個體一樣,因此您可以確信您的測試會向您顯示應用程式在生產環境中的執作情況。
在您對新版應用程式的測試結果感到滿意之後,便可以將其位置與生產位置交換來加以部署。 不同於程式碼部署,插槽交換是瞬間完成的。 交換位置時,會交換位置主機名稱,將生產環境流量立即傳送給新版應用程式。 當您使用插槽交換進行部署應用程式時,您的應用程式永遠不會以部分部署的狀態暴露於公共網路上。
若新版本在仔細測試之後仍出現問題,您只需再次交換位置便能復原為先前的版本。
將插槽視為個別的 Azure 資源
當您針對 Web 應用程式使用多個部署位置時,這些位置會被視為該 Web 應用程式的個別實例。 例如,它們會分別列在 Azure 入口網站的 [ 所有資源 ] 頁面上。 它們各自有自己的 URL。 不過,每個位置皆共用 App Service 方案的資源,包括虛擬機器記憶體與 CPU,以及磁碟空間。
建立部署插槽與階層
只有當 Web 應用程式使用標準、進階或隔離層級中的 App Service 方案時,才能使用部署插槽。 下表顯示您可以建立的位置數目上限:
| 層 | 暫存位置上限 |
|---|---|
| 免費 | 0 |
| 共用 | 0 |
| 基本 | 0 |
| 標準 | 5 |
| 進階 | 20 |
| 隔離式方案 | 20 |
在交換期間避免冷啟動
開發人員用來建立 Web 應用程式的許多技術,都需要在伺服器上進行最終編譯和其他動作,才能將頁面傳遞給使用者。 當應用程式啟動並收到要求時,其中許多工作都會完成。 例如,如果您使用 ASP.NET 來建置應用程式,則程式代碼會編譯,並在第一個使用者要求頁面時完成檢視。 該頁面的後續要求會收到更快的響應,因為程式代碼已經編譯。
初始延遲稱為 冷啟動。 若要避免冷啟動,您可以透過使用位置交換來部署至生產位置。 當您將位置交換至生產環境時,您將能「準備好」應用程式,因為您的動作會將要求傳送至網站的根目錄。 此準備要求可確保所有編譯和快取工作都會完成。 在交換之後,網站的回應速度就會有如已部署多日一樣快。
建立部署位置
在建立插槽之前,請確定您的 Web 應用程式正在標準、進階或隔離層級運行。
在 Azure 入口網站中開啟 Web 應用程式。
選取 [部署位置] 窗格。
選取 [加入位置]。
為該位置命名。
選擇是否要從另一個位置複製設定。 如果您選擇複製,設定會從您指定的位置複製到新的位置。
備註
雖然您可以將設定複製到新的位置,但無法複製內容。 新位置一律會以沒有內容的方式開始。 您必須使用 Git 或其他部署策略來部署內容。 複製操作會將組態複製到新的插槽。 複製設定之後,可以獨立變更兩個插槽的組態。
選取 [新增 ] 以建立新的位置。 您現在可以在 [部署位置] 頁面上的清單中擁有新的位置。 選取該位置以檢視其管理窗格。
存取位置
新的插槽主機名稱取自 Web 應用程式名稱和插槽名稱。 當您在 部署插槽 頁面上選取插槽時,您會取得此主機名稱:
您可以依照和針對生產位置部署程式碼相同的方式,將程式碼部署到新位置。 只要在您使用的部署工具組態中取代新位置的名稱或URL即可。 如果您使用 FTP 來部署,您會在該位置的 URL 底下看到 FTP 主機名稱與使用者名稱。
新的插槽實際上是具有不同主機名的獨立 Web 應用程式。 只要知道該主機名稱,在網際網路上的任何人都可以存取它。 除非您向搜尋引擎註冊該位置,或從搜耙頁面連結至該位置,否則該位置不會出現在搜尋引擎索引中。 其會對一般網際網路使用者保持隱匿狀態。
您可以透過使用 IP 位址限制來控制對插槽的存取。 建立允許存取位置的 IP 位址範圍清單或拒絕存取位置的範圍清單。 這些清單就像是您可以在防火牆上設定的允許與拒絕範圍。 使用此清單只允許存取屬於您公司或開發小組的電腦。