設定和支付平行作業的費用

Azure DevOps Services |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018

本文說明 Team Foundation Server 2017 (TFS 2017) 或更新版本中Azure Pipelines的授權模型。 只要您有 TFS 用戶端存取授權 (CAL) ,Team Foundation Build (TFBuild) 不會向您收取費用。

TFS 平行作業 可讓您在專案集合中一次執行單一版本。 您可以在集合中保留數百或甚至數千個發行作業。 但是,若要一次執行多個版本,您需要額外的平行作業。

Team Foundation Server中的每個集合都包含一個免費的平行作業。 Team Foundation Server中的每個Visual Studio Enterprise訂閱者都會提供一個額外的平行作業。

您可以從 Visual Studio Marketplace 購買額外的私人作業。 Microsoft 裝載代理程式的最大限制為 25 個平行作業。

重要

從 Azure DevOps Server 2019 開始,您不需要在版本中支付自我裝載並行作業的費用。 您只受限於您擁有的代理程式數目。

瞭解如何估計您需要多少個平行作業,並為組織購買更多平行作業。

注意

針對公開專案,以及新組織中的特定私人專案,我們已暫時停止免費授與平行作業。 不過您仍可提交要求,來要求獲得平行作業。 現有的組織和專案不會受到影響。 請注意,我們會利用 2-3 個工作天的時間來回應您的免費層要求。

什麼是平行作業?

當您定義管線時,您可以將它定義為 作業的集合。 當管線執行時,您可以在該管線中執行多個作業。 每個執行中作業都會取用在代理程式上執行的 平行作業 。 當組織沒有足夠的平行作業可用時,作業會排入佇列,並逐一執行。

在Azure Pipelines中,您可以在 Microsoft 裝載的基礎結構或您自己的 (自我裝載) 基礎結構上執行平行作業。 每個平行作業都可讓您一次在組織中執行單一作業。 如果您使用內部部署伺服器,則不需要支付平行作業的費用。 平行作業的概念僅適用于Azure DevOps Services。

Microsoft 裝載與自我裝載的平行作業

如果您想要在 Microsoft 管理的電腦上執行作業,請使用 Microsoft 裝載的平行作業。 您的作業將會在 Microsoft 裝載的代理程式上執行。

如果您想要Azure Pipelines協調組建和發行,但使用您自己的機器來執行它們,請使用自我裝載的平行作業。 針對自我裝載的平行作業,您將從在您的機器上部署 自我裝載代理程式 開始。 您可以在您的組織中註冊任意數目的自我裝載代理程式。

平行作業的成本是多少?

根據預設,我們會針對託管和自我裝載的平行作業,在每個組織中提供 免費服務層 。 並行作業是在組織層級購買,且由組織中的所有專案共用。

針對 Microsoft 裝載的平行作業,您最多可以取得 10 個免費的 Microsoft 裝載平行作業,每次 針對公用專案執行最多 360 分鐘 (6 小時) 。 當您建立新的Azure DevOps組織時,預設不會獲得此免費授與。

針對 私人專案,您可以取得一個免費作業,每次最多可以執行 60 分鐘。 當您建立新的Azure DevOps組織時,預設不一定會獲得此免費授與。

若要要求公用或私人專案的免費授與,請提交 要求

注意

需要 2-3 個工作天才能回應您的免費層要求。

公用專案的平行作業沒有時間限制,私人專案每個月有 30 小時的時間限制。

平行作業數目 時間限制
公用專案 最多 10 個免費的 Microsoft 裝載平行作業,每次執行最多 360 分鐘 (6 小時) 每月沒有整體時間限制
私人專案 每次最多可以執行 60 分鐘的免費作業 每月 1,800 分鐘 (30 小時)

當免費層不再足夠時,您可以支付每個平行作業的額外容量。 如需每個平行作業的定價成本,請參閱Azure DevOps定價頁面。 付費平行作業會移除每月時間限制,並可讓您執行每個作業最多 360 分鐘, (6 小時) 。

購買 Microsoft 裝載的平行作業

當您購買第一個 Microsoft 裝載的平行作業時,組織中的平行作業數目仍是一個。 若要能夠同時執行兩個作業,如果您目前位於免費層,則必須購買兩個平行作業。 第一次購買只會移除第一個作業的時間限制。

提示

如果您的管線超過作業逾時上限,請嘗試將您的管線分割成多個作業。 如需作業的詳細資訊,請參閱 在管線中指定作業

我需要多少個平行作業?

當佇列組建和版本的數目超過您擁有的並行作業數目時,您的組建和發行佇列將會變得更長。 當您發現佇列延遲時間太長時,您可以視需要購買額外的並行作業。 您可以使用數種方法來檢查平行作業限制和作業歷程記錄。

使用集區耗用量報告來檢視作業歷程記錄

您可以使用代理程式組件區的 [分析] 索引標籤上提供的 [集區耗用量報告],查看過去 30 天內以平行作業繪製的執行和佇列作業圖表。 如果您有已排入佇列的作業待處理專案,且執行中的作業處於並行限制,您可能會想要購買更多平行作業。 如需詳細資訊,請參閱 集區耗用量報告

Microsoft-hosted agent pool historical graph

直接檢查平行作業設定

先查看組織目前使用的平行作業數目,以瞭解您需要多少個平行作業:

  1. 流覽至[組織設定>Pipelines>重試和平行作業>平行作業

    Location of parallel jobs in organization settings.

    URL 範例: https://{your_organization}/_admin/_buildQueue?_a=resourceLimits

  2. 檢視組織中可用的平行作業數目上限。

  3. 選取 [檢視進行中作業 ],以顯示正在主動取用可用平行作業的所有組建和版本,或排入佇列等候平行作業可供使用的所有組建和版本。

預估成本

簡單經驗法則:估計組織中每四到五位使用者都需要一個平行作業。

在下列案例中,您可能需要多個平行作業:

  • 如果您有多個小組,而且每個小組都需要 CI,則可能需要每個小組的平行作業。
  • 如果您的 CI 觸發程式適用于多個分支,您可能需要每個作用中分支的平行作業。
  • 如果您使用一個組織或伺服器來開發多個應用程式,您可能需要額外的平行作業:一個同時部署每個應用程式。

如何?購買更多平行作業嗎?

若要購買更多平行作業:

購買平行作業

在您的組織設定內購買更多平行作業:

  1. 登入您的組織 (https://dev.azure.com/{yourorganization}) 。

  2. 選取 [ gear icon組織設定]。

    Open Organization settings

  3. 在 [Pipelines] 下選取[平行作業],然後選取 [購買 Microsoft 裝載作業的平行作業] 或 [針對自我裝載作業變更]。

    manage parallel jobs image

  4. 輸入所需的金額,然後 儲存

如需每個平行作業的定價成本,請參閱Azure DevOps定價頁面

如何?變更組織的平行作業數量嗎?

  1. 登入您的組織 (https://dev.azure.com/{yourorganization}) 。

  2. 選取 [ gear icon組織設定]。

    Open Organization settings

  3. 在 [Pipelines] 下選取[平行作業],然後選取 [購買平行作業] 或 [針對 Microsoft 裝載的作業變更] 或 [針對自我裝載作業變更]。

    image of manage parallel jobs

  4. 輸入較少或更大的 Microsoft 裝載或自我裝載作業數量,然後選取 [ 儲存]。

重要

不支援裝載的 XAML 建置控制器。 如果您有需要執行 XAML 組建的組織,請設定 內部部署組建伺服器 ,並切換至 內部部署組建控制器。 如需託管 XAML 模型的詳細資訊,請參閱使用 XAML 開始

如何在 DevOps Services 中使用平行作業?

請考慮只有一個 Microsoft 裝載平行作業的組織。 此作業可讓組織中的使用者一次只執行一個作業。 觸發其他作業時,它們會排入佇列,並等候上一個作業完成。

如果您使用發行或 YAML 管線,則執行只會在主動部署到階段時取用平行作業。 當發行正在等候核准或手動介入時,它不會取用平行作業。

當您使用發行管線執行 伺服器作業 或部署到 部署群組 時,您不會取用任何平行作業。

Simple example of parallel jobs

  1. FabrikamFiber CI 組建 102 (主要分支) 會先啟動。
  2. FabrikamFiber 版本 11 的部署是由 FabrikamFiber CI 組建 102 完成而觸發。
  3. 會觸發 FabrikamFiber CI 組建 101 (功能分支) 。 組建尚未啟動,因為第 11 版的部署作用中。 因此,組建會保持佇列。
  4. 版本 11 會等候核准。 Fabrikam CI 組建 101 會啟動,因為等候核准的版本不會取用平行作業。
  5. 第 11 版已核准。 只有在 Fabrikam CI 組建 101 完成之後,才會繼續。

平行作業的取用方式如何?

例如,Team Foundation Server中的集合有一個平行作業。 這可讓該集合中的使用者一次只執行一個版本。 觸發其他版本時,它們會排入佇列,並等候前一個版本完成。

只有在已主動部署到階段時,發行才需要平行作業。 等候核准不會取用平行作業。 不過,在部署中間等候手動介入會耗用平行作業。

Parallel jobs simple example

  1. FabrikamFiber 第 10 版是第一次部署。
  2. FabrikamFiber 第 11 版的部署會在第 10 版部署完成之後開始。
  3. 版本 12 會排入佇列,直到第 11 版的部署處於作用中狀態為止。
  4. 版本 11 會等候核准。 版本 12 的部署會啟動,因為等候核准的發行不會使用平行作業。
  5. 即使已核准第 11 版,它仍會在第 12 版的部署完成之後繼續。
  6. 第 11 版正在等候手動介入。 版本 13 無法啟動,因為手動介入狀態會耗用平行作業。

手動介入不會在 TFS 2017.1 和更新版本中取用作業。

單一版本中的平行處理

單一版本中的平行處理不需要額外的平行作業。 只要您有足夠的代理程式,您就可以同時部署至發行中的多個階段。

例如,假設您的集合有三個平行作業。 您可以同時執行三個以上的代理程式,以在發行內執行平行作業。 例如,請注意,下列四個或五個代理程式正主動從三個平行作業執行作業。

Parallel jobs with additional agents example

組織中的平行作業

例如,以下是具有多個 Team Foundation Servers 的組織。 其中兩個使用者Visual Studio Enterprise訂用帳戶,只要客戶將其新增為兩部伺服器,就可以在內部部署伺服器和每個集合中同時使用,如下所示。

Parallel jobs in an organization example

判斷您需要的平行作業數目

您可以從查看您的小組是否可以使用您預設取得的平行作業開始。 當佇列發行數目超過您擁有的平行作業數目時,您的發行佇列將會變長。 當您發現佇列延遲時間太長時,您可以視需要購買額外的並行作業。

簡單估計

簡單的經驗法則:估計您的伺服器中每 10 位使用者都需要一個平行作業。

詳細估計

在下列案例中,您可能需要多個平行作業:

  • 如果您有多個小組,如果每個小組都需要 CI 組建,而且每個 CI 組建都設定為觸發發行,則您可能需要每個小組的平行作業。

  • 如果您在一個集合中開發多個應用程式,則可能需要額外的平行作業:一個同時部署每個應用程式。

使用您的Visual Studio Enterprise訂用帳戶權益

擁有Visual Studio Enterprise訂用帳戶的使用者會指派給TFS 實例的使用者中樞VS Enterprise存取層級。 所有這些使用者都會為每個集合提供一個額外的平行作業。 您可以在貴組織的所有 Team Foundation Server 上使用這項權益。

  1. 流覽至 [伺服器設定]、[ 存取層級]。

    control panel server versus enterprise access levels

    URL 範例: http://{your_server}:8080/tfs/_admin/_licenses

  2. 在頁面左側,按一下[VS Enterprise]。

  3. 新增具有Visual Studio Enterprise訂用帳戶的使用者。

新增這些使用者之後,其他授權會出現在以下所述的資源限制頁面上。

購買其他平行作業

如果您需要執行更多平行版本,您可以從Visual Studio市集購買額外的私人作業。 由於目前無法直接從 Marketplace 為 TFS 實例購買平行作業,因此您必須先為Azure DevOps組織購買平行作業。 購買Azure DevOps組織的私人作業之後,您會在下列資源限制頁面上手動輸入購買的平行作業數目。

檢視和管理平行作業

  1. 流覽至[集合設定]、[Pipelines]、[資源限制]。

    Set resource limits

    URL 範例: http://{your_server}:8080/tfs/DefaultCollection/_admin/_buildQueue?_a=resourceLimits

  2. 檢視或編輯購買的平行作業數目。

常見問題集

如何?符合公用專案免費層的資格嗎?

如果您符合下列兩個條件,您便符合公用專案的免費層限制:

  • 您的管線是Azure Pipelines公用專案的一部分。
  • 您的管線會從GitHub或Azure DevOps組織中的相同公用專案建置公用存放庫。

如需如何申請免費平行作業授與的資訊,請參閱平行 作業 (Microsoft 裝載) 的成本為何?

我可以將平行作業指派給特定專案或代理程式組件區嗎?

目前,沒有方法將平行作業容量分割或專用於特定專案或代理程式組件區。 例如:

  • 您在組織中購買兩個平行作業。
  • 您會在第一個專案中啟動兩次執行,而且會取用平行作業。
  • 您會在第二個專案中啟動執行。 直到第一個專案中的其中一個執行完成之後,才會開始執行。

誰可以使用Azure Pipelines的限制?

當您使用Azure Pipelines時,您可以擁有所需的使用者數目。 使用 Azure Pipelines 時,不會收取每位使用者費用。 具有基本和專案關係人存取權的使用者可以視需要撰寫許多組建和發行。

我可以建立的組建和發行管線數目是否有任何限制?

不會。 您可以免費建立數百或甚至數千個管線。 您可以免費註冊任意數目的自我裝載代理程式。

身為Visual Studio Enterprise訂閱者,我是否會收到 TFS 和Azure Pipelines的其他平行作業?

是。 Visual Studio Enterprise訂閱者會在Team Foundation Server 2017 或更新版本中取得一個平行作業,並在屬於成員的每個Azure DevOps Services組織中取得一個自我裝載平行作業。

每分鐘支付託管代理程式的選項為何?

我們先前的一些客戶仍在託管代理程式的每分鐘計畫中。 在此方案中,您會在免費層後的前 20 小時支付 $0.05/分鐘,並在 20 小時後支付 $0.01/分鐘。 基於此計畫中的下列限制,您可能想要考慮移至平行作業模型:

  • 當您使用每分鐘計畫時,一次只能執行一個作業。
  • 如果您在一個月內執行組建超過 14 個付費小時,則每分鐘計畫可能會比平行作業模型低成本效益。

我搭配我的組織使用 XAML 組建控制器。 如何支付這些費用?

您可以為組織中的每個自我裝載平行作業註冊一個 XAML 建置控制器。 您的組織至少會取得一個免費的自我裝載平行作業,因此您可以註冊一個 XAML 組建控制器,不需額外費用。 針對每個額外的 XAML 建置控制器,您將需要額外的自我裝載平行作業。

神秘可以使用系統嗎?

具有 TFS CAL 的 TFS 使用者可以視需要撰寫許多版本。

若要核准發行,不需要 TFS CAL;任何 具有專案關係人存取權 的使用者都可以核准或拒絕發行。

我需要平行作業才能在 TFS 上執行組建嗎?

否,在 TFS 上,您不需要平行作業來執行組建。 您可以視需要同時執行許多組建,不需額外費用。

是否需要平行作業來管理 TFS 2017 之前的版本中的版本?

不會。

在 TFS 2015 中,只要您的使用者有 TFS CAL,他們可以在試用版模式中管理版本,不需額外費用。 我們稱之為「試用模式」,指出我們最終會收取管理發行的費用。 雖然有這個標籤,但我們仍完全支援在 TFS 2015 中管理版本。