建立多階段 Classic 發行管線

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022

Azure Pipelines 讓開發者能透過 YAML 或 Classic 管線,將應用程式部署到多個環境。 本教學將引導你建立多階段的 ASP.NET Core Classic 發佈流程,包括如何設定持續部署觸發器、新增階段、設定部署前批准,以及建立與監控版本。

必要條件

產品 Requirements
Azure DevOps - Azure DevOps 組織
- Azure DevOps 專案
- 至少包含一個階段的傳統版發行管線。 如果您還沒有,建立傳統版本
- 權限:
    - 若要授與專案中所有管線的存取權,您必須是 Project Administrators 群組的成員,

設定持續部署觸發機制

啟用持續部署觸發器後,只要有新的管線工件可用,系統會自動建立新版本。

  1. 登入 Azure DevOps,然後進入你的專案。

  2. 選取 [Azure Pipelines>Releases],選取發行管線,然後選取 編輯

  3. Artifacts 區塊,選擇 持續部署觸發圖 示以開啟觸發面板,然後開啟它。

  4. 在第一階段,選擇 部署前的條件 圖示,然後確認部署觸發器是否設定為 發布後。 此設定會在建立新版本時自動觸發部署至該階段。

新增階段

在發佈過程中新增階段來建模每個環境,並控制部署何時從一個階段移動到下一個階段。

  1. 登入 Azure DevOps,然後進入你的專案。

  2. 選取 [Azure Pipelines>Releases],選取發行管線,然後選取 編輯

  3. 選取 + 新增>來創建新的階段

  4. 在新階段,選擇 部署前的條件 圖示。 將觸發條件設為 「之後」階段,然後從下拉選單選擇你原本的關卡,讓這個關卡在前一個關卡結束後繼續。

    顯示如何在傳統發行管線中設定預先部署條件的螢幕快照。

  5. 打開 任務 下拉選單,然後選擇你想設定的舞台。 更新該階段的任務設定,使其部署到正確的目標環境。 在此範例中,部署 Azure App 服務 任務被設定為部署至 Azure App 服務,如下圖所示。

    顯示如何在經典釋出流程中設定階段任務的螢幕快照。

新增預先部署核准

利用部署前核准,要求指定審查者批准某個階段,才能繼續發布。 此流程有助於控制環境間的推進,並確認該階段已準備好進行部署。

  1. 登入 Azure DevOps,然後進入你的專案。

  2. 選取 [Azure Pipelines>Releases],選取發行管線,然後選取 編輯

  3. 「階段」中,選擇你想要要求核准的 「部署前條件 」圖示,然後開啟 「部署前核准」。

  4. 審核 方框中,輸入應批准部署的使用者。 如果你想讓請求發佈或部署的人批准,請清除。請求發佈或部署的使用者不應該批准。

  5. 選擇 儲存 以套用核准設定。

    顯示如何在典型發行管線中新增預先部署核准者的螢幕快照。

建立發行版

在你設定好階段和批准後,建立一個版本來啟動部署流程。 雖然新建置產物出現時通常會自動建立版本,但這個範例展示了如何手動建立,方便你檢視組態並監控每個階段的運行。

  1. 登入 Azure DevOps,然後進入你的專案。

  2. 選取 [Azure Pipelines>Releases],選取發行管線,然後選取 編輯

  3. 選擇 「釋放 」下拉選單,然後選擇 「建立釋放」。

  4. 輸入此發行的說明,確認已為部署選取正確的成品版本,然後選擇 建立

  5. 當發佈時,會出現一個橫幅,並附上新發佈連結。 點擊連結開啟發佈摘要,您可以追蹤每個階段的部署狀態。

  6. 如果您設定了部署前的核准,指定的核准者會在部署進入下一階段前收到核准請求。 要批准部署,他們可以先加上簡短的註解,然後選擇 批准

    一個螢幕快照,顯示如何在 Classic release pipeline 中核准部署要求。

注意

授權管理員可在必要時查看並覆寫核准決策,例如當核准者無法出席或部署必須立即進行時。

監視和追蹤部署

發佈開始後,利用部署日誌追蹤各階段的進度,檢查個別任務,並排除故障或意外行為。 發佈摘要提供階段層級的視圖,日誌則提供驗證與除錯所需的詳細任務輸出。

  1. 在發行版本摘要中,將游標移至某個階段上方,然後選取 日誌。 你也可以在部署仍在執行時開啟日誌,觀看每個任務的即時輸出。

  2. 選擇任務以查看其詳細日誌。 如果你需要離線檢視輸出或與他人分享,可以下載個別任務的日誌,或下載包含該版本所有日誌的 .zip 檔案。

  3. 如果標準日誌無法提供足夠細節,請 以除錯模式執行釋放 ,以擷取更多診斷資訊。

    顯示傳統發行管線中部署記錄的螢幕快照。