共用方式為


部署閘道概念

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Pipelines 中的部署閘道會新增至發行管線,以確保部署符合特定準則再繼續進行。 蓋茨對於確保部署可靠且安全至關重要,方法是強制執行嚴格的檢查,進而獲得更穩定且安全的軟體版本。

閘道是在釋出階段的部署前後條件中定義的。 它們提供一種機制,可以自動從外部服務(如 Azure 函數或 REST API)收集健康訊號,並根據這些訊號控制發行的升階。 蓋茨會與核准合作,以確保正確的項目關係人核准發行和發行符合必要的品質和合規性準則。

使用案例

部署閘道的一些常見使用案例如下:

  • 事件管理:請確定符合特定準則,再繼續進行部署。 例如,只有在不存在零級優先權的 Bug 時,才會進行部署。
  • 尋求核准:與 Microsoft Teams 或 Slack 整合,以通知外部使用者,例如稽核員或 IT 管理員部署,並等候其核准。
  • 質量驗證:查詢管線計量,例如通過率或程式代碼涵蓋範圍,只有在它們位於預先定義的閾值內時才部署。
  • 安全性掃描:執行安全性檢查,例如工件掃描、程式碼簽署和原則檢查。 部署閘道可能會啟動掃描並等待其完成,或者僅檢查是否完成。
  • 與基準相關的用戶體驗:使用產品數據收集來確保用戶體驗從基準狀態回歸。 部署前的用戶體驗計量可以做為基準。
  • 變更管理:等候 ServiceNow 等系統中的變更管理程式完成,再繼續進行部署。
  • 基礎結構健康情況:在部署後執行監視並驗證基礎結構是否符合合規性規則,或等候狀況良好的資源使用率和正面安全性報告。

大部分的健康情況參數會隨著時間而有所不同,定期將其狀態從狀況良好變更為狀況不良,並回到狀況良好。 為了考慮這類變化,所有閘門都會定期重新評估,直到它們全部同時運作正常為止。 如果所有閘道未在相同的時間間隔內成功且未在設定的逾時之前完成,那麼發布執行和部署將不會繼續。

定義階段的關卡

您可以在階段開始時啟用閘門(部署前條件),或在階段結束時啟用閘門(部署後條件),或者同時在兩者啟用。 如需詳細資訊,請參閱 設定閘道

評估 之前的 延遲是閘道評估過程開始時的延遲,允許閘道初始化、穩定,並開始為當前部署提供準確的結果。 如需詳細資訊,請參閱 閘道評估流程。

螢幕快照,其中顯示閘道中評估功能之前的延遲。

  • 針對 部署前閘道,延遲時間是記錄所有與所部署工件相關錯誤所需的時間。
  • 針對 部署后閘道,延遲將是已部署應用程式達到穩定作業狀態所花費的時間上限、在部署階段執行所有必要的測試所花費的時間,以及部署後記錄事件所需的時間。

預設會提供下列閘道:

  • 叫用 Azure 函式:觸發 Azure 函式的執行,並確保成功完成。 如需詳細資訊,請參閱 Azure 函式工作
  • 查詢 Azure 監視器警示:檢視已設定的 Azure 監視器警示規則以檢查作用中的警示。 如需更多資訊,請參閱 Azure 監控器任務
  • 叫用 REST API:呼叫 REST API,並在傳回成功的回應時繼續。 如需詳細資訊,請參閱 叫用 REST API 工作
  • 查詢工作專案:確定從查詢傳回的相符工作項目數目在閾值內。 如需詳細資訊,請參閱 查詢工作專案
  • 檢查 Azure 原則合規性:評估指定訂用帳戶和資源群組範圍內資源的 Azure 原則合規性,並選擇性地在特定資源層級評估。 如需詳細資訊,請參閱 檢查 Azure 原則合規性工作

顯示預設閘道的螢幕快照。

您也可以 使用 Marketplace 擴充功能建立自己的閘道

適用於所有閘道的評估選項包括:

  • 重新評估閘道之間的時間。 閘道的後續評估之間的時間間隔。 在每個取樣間隔中,新的要求會同時傳送至每個閘道,並評估新的結果。 建議的取樣間隔大於設定閘道最長的一般回應時間,以允許接收所有回應的時間進行評估。
  • 超過逾時期限後閘道失效。 所有閘道的評估期間上限。 如果達到超時,而在同一取樣間隔期間所有閘道未能成功,則會拒絕部署。
  • 閘口和批准。 如果同時設定閘道與核准,請選取所需的執行順序。 針對預先部署條件,預設是先提示使用者進行手動核准。如果使用者拒絕發行,系統將不會再評估閘道功能,以節省資源。 針對部署后的條件,預設值是評估閘道,並只有在所有閘道都成功確保核准者擁有核准發行所需的所有資訊時,才會提示進行手動核准。

如需閘道分析的詳細資訊,請參閱 檢視核准記錄監視和追蹤部署

網關評估流程範例

下圖說明閘道評估流程,其中,在初始穩定延遲期間和三個取樣間隔之後,會核准部署。

顯示閘道評估流程圖的螢幕快照。

下圖說明閘道評估流程,其中,在初始穩定延遲期間之後,並非所有閘道在每次取樣間隔都成功。 在此情況下,逾時期間到期之後,就會拒絕部署。

顯示閘道核准和失敗範例的螢幕快照。