練習 - 藉由使用部署位置來部署 Web 應用程式

已完成

當您已準備好交換兩個位置時,請確定您已將正確的設定套用至已交換的位置。

假設您已完成社交媒體 Web 應用程式第 2 版的測試。 現在,您想要將該版本部署到生產環境。 您希望自動交換未來的應用程式版本,以進一步簡化部署。

您將在此處了解如何手動及自動進行交換。

設定位置設定

在您部署第 2 版的 Web 應用程式之前,先設定位置設定。 您在這裡進行的設定並不會影響您的示範應用程式。 此練習的目的只是為了查看設定在您交換位置時的運作方式。

設定位置設定:

  1. 從 Azure 入口網站中的 [所有資源] 檢視,前往 Web 應用程式生產位置的 [概觀] 頁面。

  2. 瀏覽至部署位置的 [設定] 窗格。

  3. 選取 [+ 新增應用程式設定]。 新增名為 ENVIRONMENT_NAME 且值為生產的新設定。 選取 [部署位置設定] 方塊,以使其成為位置設定。 選取 [確定]。

  4. 新增名為 APP_VERSION 的另一個設定,然後輸入值 1。 「不要」將此設定為位置設定。 選取 [確定]。

  5. 在頂端功能表列中,選取 [儲存],然後選取 [繼續]

  6. 預備位置上重複上述步驟,但使用下列值:

    名稱 部署位置設定
    ENVIRONMENT_NAME staging Yes
    APP_VERSION 2 No

交換位置

您已在預備位置中測試過第 2 版的 Web 應用程式,現在可透過交換位置來部署它。 執行下列步驟:

  1. 為了確保您設定的是生產位置,請選取 [所有資源],然後選取 Web 應用程式的生產位置。

  2. 在左側功能表窗格的 [部署] 下,選取 [部署位置]>[交換]

    Screenshot of starting a swap.

  3. 確定您即將交換的是預備和生產位置。 請注意交換將對設定產生何種影響。 APP_VERSION 設定的值將在位置之間進行交換,但 ENVIRONMENT 位置設定的值將不會交換。 選取 [交換]

    Screenshot of completing a swap.

  4. 交換完成時,前往生產位置 Web 應用程式的 [概觀] 頁面,然後選取 [瀏覽]。 Web 應用程式會出現在新的瀏覽器索引標籤上。請注意,第 2 版的 Web 應用程式現在處於生產環境中。

  5. 關閉瀏覽器索引標籤。

針對預備位置設定自動交換

假設您在開始使用部署位置之後,想要啟用持續部署。 若要這麼做,您必須針對 Web 應用程式使用自動交換功能。 在使用自動交換的系統中,當您將新程式碼部署至預備位置時,Azure 會透過交換預備位置與生產位置,自動準備該程式碼並將其部署至生產環境。 若要設定自動交換,請依照下列步驟進行操作:

  1. 前往預備位置 Web 應用程式的 [設定] 窗格,然後前往 [一般設定] 索引標籤。

  2. 將 [啟用自動交換] 設定為 [開啟]

  3. [自動交換部署位置] 清單中選取 [生產],然後選取 [儲存][繼續]

    Screenshot of configuring auto swap.

部署新程式碼並將其自動交換至生產位置

現在,您將會修改程式碼,以建立第 3 版的 Web 應用程式。 當您將其部署至預備位置時,將會看到正在自動交換。 執行下列步驟:

  1. 在 Cloud Shell 右側,重新啟動編輯器 (如果其尚未執行)。

    cd ~/demoapp/app-service-web-dotnet-get-started/
    code .
    
  2. 在程式碼編輯器中,於左側的 [檔案清單] 中,展開 [aspnet-get-started]>[檢視]>[首頁],然後選取 [Index.cshtml]

  3. 找出下列程式碼。

    <h1>Web App Version 2</h1>
    
  4. 將該程式碼取代為此程式碼。

    <h1>Web App Version 3</h1>
    
  5. 若要儲存變更,請按 Ctrl+S

  6. 在 Cloud Shell 中,執行下列命令。 當系統提示您時,輸入您的部署密碼。

    git add .
    git commit -m "Third version of web app."
    git push staging
    

    等待部署完成。 在靠近文字輸出的結尾,您會看到一則訊息,指出部署已要求自動交換至生產位置。

  7. 在 Azure 入口網站中,前往生產位置 Web 應用程式的 [概觀] 頁面,然後選取 [瀏覽]。 Web 應用程式的第三個版本出現在新的瀏覽器索引標籤上。如果顯示舊版本,您可能需要短暫等待,然後重新整理頁面。 交換作業不可部分完成,並且會立即發生,但在執行之前,App Service 需要幾分鐘的時間來準備交換作業。

復原新版本

假設將第 3 版應用程式部署至生產環境顯示出未預期的問題。 為了快速解決問題,您可以藉由再次交換位置,來復原至前一個網站版本。

  1. 前往生產位置 Web 應用程式的 [部署位置] 窗格。

  2. 交換預備與生產位置。

  3. 交換完成時,在 [概觀] 頁面中,選取 [瀏覽],最後一次檢視應用程式。 您會看到第 2 版已重新部署至生產環境。