簡體   English   中英

Microsoft 托管代理和自托管代理之間的區別及其適用性

[英]Difference between Microsoft Hosted Agents and Self-hosted agents and their applicability

我是 Azure 管道的新手,很想知道 Microsoft 托管代理和自托管代理之間的確切區別。 還需要知道我們應該在什么情況下使用任何一個代理。 這些代理是否與本地和雲部署有關?

Microsoft 托管的代理:

使用 Microsoft 托管的代理,您可以進行維護和升級。 每次運行管道時,您都會獲得一個全新的虛擬機。 虛擬機在使用一次后被丟棄。 Microsoft 托管的代理可以直接在 VM 或容器中運行作業。

預定義的Azure Pipelines代理池提供多個虛擬機映像供您選擇,每個映像都包括廣泛的工具和軟件。 通過選擇中的Included Software鏈接,您可以查看每個托管代理的已安裝軟件。

Microsoft 托管的代理在安全的 Azure 平台上運行。 但是,您必須注意以下安全注意事項。

  • 盡管 Microsoft 托管的代理在 Azure 公共網絡上運行,但並未為其分配公共 IP 地址。 因此,外部實體不能以 Microsoft 托管的代理為目標。
  • Microsoft 托管的代理在單獨的 VM 中運行,每次運行后都會重新映像。 每個代理都專用於一個組織,每個虛擬機只托管一個代理。
  • 從安全角度來看,在 Microsoft 托管的代理上運行管道有幾個好處。 如果您在管道中運行不受信任的代碼,例如來自分叉的貢獻,則在 Microsoft 托管的代理上運行管道比在企業網絡中的自托管代理上運行更安全。
  • 當管道需要訪問防火牆后的公司資源時,您必須將 Azure 地理位置的 IP 地址范圍列入白名單 這可能會增加您的曝光率,因為 IP 地址范圍相當大,而且該范圍內的機器也可能屬於其他客戶。 防止這種情況的最好方法是避免訪問內部資源的需要。
  • 托管映像不符合CIS 強化基准 要使用 CIS 強化的映像,您必須創建自托管代理或規模集代理。

有關托管代理的功能限制和其他詳細信息,請參閱此文檔

對於許多團隊來說,這是運行工作的最簡單方法。 您可以先嘗試一下,看看它是否適用於您的構建或部署。 如果沒有,您可以使用自托管代理。

自托管代理:

自托管代理讓您可以更好地控制安裝構建和部署所需的依賴軟件。 此外,機器級緩存和配置在運行之間保持不變,這可以提高速度

您可以在 Linux、macOS、Windows 機器或 Docker 容器上安裝代理。

私人代理的性能優勢:

  • 如果您使用自托管代理,則可以運行增量構建。 例如,如果您定義了一個不清理 repo 並且不執行清理構建的管道,那么您的構建通常會運行得更快。 當您使用 Microsoft 托管的代理時,您不會獲得這些好處,因為該代理在構建或發布管道完成后被銷毀。
  • Microsoft 托管的代理可能需要更長的時間才能開始構建。 雖然通常只需幾秒鍾即可將您的作業分配給 Microsoft 托管的代理,但有時可能需要幾分鍾才能分配代理,具體取決於我們系統上的負載。

總結:托管代理和自托管代理有很多區別,大家可以根據自己的需要選擇合適的代理。 有關詳細信息,請參閱文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM