共用方式為


設定縮放

設定調整設定,以管理受控DevOps集區的效能和成本。 如需定價和效能的相關信息,請參閱 管理成本和效能

代理程序狀態

受控DevOps集區可以設定為無狀態或具狀態。

受控 DevOps 集區的預設設定是無狀態的(每次重新使用代理程式),但在某些情況下,小組可能會想要重複使用代理程式,以重複使用在上一次管線執行期間建立的套件或檔案。 建置工作負載是小組想要保留狀態並重複使用代理程序的常見案例。 您可以透過受控 DevOps 集區達成具狀態集區,同時將其與安全性最佳做法進行平衡。 根據預設,代理程式最多可以重複使用7天,但您可以將代理程式設定為更快回收。

注意

安全性專家建議每次使用無狀態集區或使用代理程序狀態設定 Fresh Agent,以防禦供應鏈攻擊。

無狀態集區

設定無狀態代理程式時,會為每個作業採購新的代理程式,並在作業完成之後捨棄。

無狀態代理程式的螢幕快照。

代理程式狀態 每次設定為 Fresh Agent 時,會為每個作業採購新的代理程式,並在作業完成之後捨棄。

具狀態集區

具狀態代理程序的螢幕快照。

多個組建 可以使用相同代理程式時("kind": "stateful" 在資源範本或 { "stateful": {...} } Azure CLI 中啟用)時,集區中的代理程式會被視為具狀態。 具狀態集區是使用下列設定來設定。

  • 待命代理程式存留時間上限 (maxAgentLifetime) 會設定具狀態集區中代理程式可以在關閉和捨棄之前執行的最大持續時間。 待命代理程式存留時間上限的格式dd.hh:mm:ss。 待命代理程式存留時間上限的預設值會設定為七天7.00:00:00 () 允許的最大持續時間。

  • 寬限期gracePeriodTimeSpan) 會設定具狀態集區中的代理程式在完成所有目前和佇列作業之後關閉之前等候新作業的時間量。 寬限期的格式dd.hh:mm:ss ,且預設值為無寬限期。

當無狀態集區中的代理程式在每次作業之後關閉和捨棄時,如果符合下列任一條件,具狀態集區中的代理程式會繼續執行。

  • 如果第一個作業完成時排入佇列的另一個作業,Managed DevOps Pools 會將該作業傳送至執行第一個作業的代理程式,而不是將其關閉。
  • 如果集區已設定寬限期,代理程式會等候寬限期所指定期間的新作業,再關閉。
  • 如果 已啟用待命代理程式,且代理程式映像符合使用中布建期間的準則,代理程式會繼續執行並等候作業。

如果在具狀態集區中執行代理程序持續執行,則會在待命代理程式存留時間上限所指定的持續時間內持續執行,即使先前的條件為 true,也會予以捨棄。 例如,如果已將待命代理程式存留時間上限設定為三天,而待命代理程式模式設定為 [手動]、[所有星期配置] [機器可用 24/7],則代理程式會在連續三天的運行時間后重新啟動。

重要

如果沒有任何寬限期、沒有待命代理程式的作用中布建期間,且沒有符合代理程式的佇列作業,則具狀態集區中的代理程式仍然可以關閉和捨棄。 一旦捨棄代理程式,任何狀態就會遺失。

寬限期可讓具有一致負載的管線執行具狀態集區,且不需要使用待命代理程式模式讓代理程式保持上線,並準備好接受作業, 最符合成本效益的方式。

待命代理程式模式

當您建立集區時, 待命代理程式模式 預設為關閉,而且沒有待命代理程式可立即指派給您的管線,可能需要等候幾分鐘,最多 15 分鐘,才能視需要布建代理程式。 為了提升效能,請啟用 待命代理程式模式 ,並設定可為您的工作負載提供容量的待命代理程式排程。

  • 關閉 - 待命代理程式模式已關閉,並在作業排入佇列時隨選布建代理程式。
  • 手動 - 設定手動待命排程。
  • 自動 - 根據代理程式使用歷程記錄使用自動待命排程,並針對成本和效能設定。

待命代理程式模式選取專案的螢幕快照。

手動

手動模式最適合瞭解其 CI/CD 管線使用模式的小組。 如果您選取手動選項,則必須根據您了解集區中的代理程式最有可能使用,以及可能使用多少代理程式,以及指定符合預計需求的代理程式布建計數,來定義預先布建配置。

您可以建立自己的布建排程,或從其中一個預先定義的排程中選擇,而且您可以將時區設定為用於指定排程。 預先布建 TimeZone 的預設值為 (UTC) 國際標準時間

提示

配置中的布建計數不能大於集區設定設定的最大代理程式。

每幾分鐘,受控 DevOps 集區會檢查執行作業的作用中代理程式和待命代理程式等候作業的計數,以確保目前布建配置所指定的代理程式布建計數可供使用。 如果目前的布建計數為 10,且有五個代理程式執行作業,且待命時有兩個代理程式,Managed DevOps 集區將會啟動三個額外的待命代理程式,讓代理程式總數最多達 10 個。

手動待命代理程式設定可透過下列三種方式之一進行設定。

除了該快速入門的特定設定之外,每個預先布建快速入門都有下列常見設定。

  • 預先布建 TimeZone 可讓您在預先布建配置中設定時間的時區。 預先布建 TimeZone 的預設值為 (UTC) 國際標準時間
  • 待命代理程式百分比 會設定每個映像所需的待命代理程式百分比。 您可以輸入 * 以確保布建所有映像都相同,也可以指定從 0 到 100 的整數來表示百分比。 如果您指定百分比,則所有影像的總計必須等於 100。 如果您有單一映像,請指定 * 或 100。 使用 ARM 範本時,images會在 區段中設定待命代理程式百分比。 如需詳細資訊,請參閱 設定映像

手動待命模式的螢幕快照。

從頭開始

如果您選擇從頭開始,您可以新增布建期間清單作為布建配置。 每個布建期間都包含開始日、結束日、時區、開始時間、結束時間和計數。 布建期間無法彼此重疊。

屬性 說明
多日 核取時,您可以設定布建配置的 [開始日] 和 [結束日]。
直到下一個期間 核取時,布建期間會從 [開始時間] 執行,直到下一個布建期間開始為止。
開始日 布建期間開始的日期。
結束日 布建期間結束的日期。 如果已檢查多天,則為必要專案。
開始時間 布建期間開始的時間。
結束時間 布建期間結束的時間。 除非 檢查下一個期間 ,否則為必要專案。
計數 要布建的待命代理程式數目。 這個數字必須大於零,而且不能大於集區設定中設定的最大 代理程式 值。

建立布建期間之後,您可以從預先布建配置清單中刪除或編輯期間

下列範例會設定手動配置,並在星期一上午 12:00 到上午 5:00 EST 布建 1 個代理程式。

手動調整配置的螢幕快照。

工作日配置

如果您選擇工作日配置,您可以指定開始時間和結束時間,其中指定的待命代理程式數目將在每個工作日處於待命狀態。

屬性 說明
開始時間 布建期間開始的時間。
結束時間 布建期間結束的時間。
布建計數 要布建的待命代理程式數目。 這個數字必須大於零,而且不能大於集區設定中設定的最大 代理程式 值。

下列範例會使用東部標準時間,將四個代理程式設定為在工作時間與 0 個代理程式在非工作時間和週末期間使用。

工作日配置的螢幕快照。

全周配置

如果您選擇全周配置,您可以指定想要使用 24/7 的代理程式數目。

所有星期配置的螢幕快照。

自動

如果您不知道使用模式,而且想要依賴根據過去的數據自動預測,請選擇 [ 自動]。 您可以使用具有下列五個選項的滑桿,在成本和代理程式效能之間取得平衡。 受控 DevOps 集區會在過去三周的歷史數據中執行查詢(如果有的話),將集區的佇列會話組織成五分鐘的期間,並將指定的百分位數(以避免尖峰)指派給每小時。

  • 最符合 成本效益 (MostCostEffective) - 第 10 個百分位數
  • 更符合 成本效益 (MoreCostEffective) - 第 25 個百分位數
  • 平衡 (預設值) (Balanced) - 第 50 個百分位數
  • 更多效能MorePerformance) - 第 75 個百分位數
  • 最佳效能BestPerformance) - 第 90 個百分位數

自動調整設定的螢幕快照。

另請參閱