共用方式為


排除管線啟動失敗的問題

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

如果您的管道進入佇列但從未啟動,請檢查下列項目。

注意

下列情境不會消耗平行作業:

  • 如果您使用發行管線或多階段 YAML 管線,那麼只有在主動部署到一個階段時,執行才會使用平行作業。 當版本正在等待核准或人工干預時,它不會佔用平行工作。
  • 當您使用發行管線執行伺服器作業或部署至部署群組時,您不會取用任何平行作業。

深入瞭解:管線如何消耗平行作業新增預部署核准伺服器作業部署群組

平行作業限制 - 沒有可用的代理,或您已達到免費使用額度的限制

如果您目前正在執行其他管線,您可能沒有任何剩餘的平行作業,或可能已達到 免費限制

檢查可用的平行作業

注意

Azure Pipelines 已暫時停止自動免費授予新組織中的 Microsoft 代管平行作業給公用專案和特定的私人專案。 如果您沒有任何平行作業,管線將會失敗,並出現下列錯誤:##[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form https://aka.ms/azpipelines-parallelism-request。 請檢查位於 Microsoft 主機上的平行作業,如以下部分所述;如果您沒有任何平行作業,您可以申請免費的平行作業配額。 若要為您的組織申請免費的平行作業配額,請提交 申請。 請允許 2-3 個工作天回應您的授與要求。

若要查看您的限制,請瀏覽至 Project 設定頁平行作業

管線並行作業

如果您使用 Microsoft裝載 代理程式,請檢查 Microsoft裝載 的平行作業限制,私人專案公用專案,視您的 Azure DevOps 專案為 私人專案(預設)或公用專案而定。

在檢查限制之後,請檢查作業並行性,以查看當前有多少作業正在運行,以及有多少作業可用。

如果您目前正在執行其他管線,您可能沒有任何剩餘的平行作業,或可能已達到 免費限制

無法從 Azure DevOps 存取防火牆後方的 Azure Key Vault

如果您無法從管線存取 Azure Key Vault,防火牆可能會封鎖 Azure DevOps Services 代理程式 IP 位址。 每周 JSON 檔案中發佈的 IP 位址 必須列入允許清單。 如需詳細資訊,請參閱 Microsoft 託管代理人:網路

您沒有足夠的並行存取

若要檢查您擁有多少並行:

  1. 若要檢查您的限制,請瀏覽至 專案設定平行工作

    並行管線限制

    您也可以瀏覽至 https://dev.azure.com/{org}/_settings/buildqueue?_a=concurrentJobs,或從記錄中選擇 管理平行作業 以進入此頁面。

    管理平行作業

  2. 決定您要檢查哪些集區(Microsoft 託管或自行裝載的集區),然後選擇 [檢視進行中作業]

  3. 您會看到 目前執行 X/X 作業的文字。 如果這兩個數位都相同,擱置中的作業會等到目前執行中的作業完成為止。

    檢視進行中工作

    您可以從 專案設定選取 [代理程式集區] ,以檢視所有作業,包括已排入佇列的作業。

    檢視佇列工作

    在此範例中,並行作業限制為一,其中一個作業正在執行,另一個已排入佇列。 當所有代理程式都忙於執行作業時,如本範例所示,當其他作業排入佇列時,會顯示下列訊息:The agent request is not running because all potential agents are running other requests. Current position in queue: 1。 在此範例中,作業是佇列中的下一個,因此其位置為第一。

您的作業可能正在等待核准

您的管線可能不會移至下一個階段,因為它正在等待核准。 如需詳細資訊,請參閱 定義核准和檢查

所有可用的代理程式都在使用中

若所有客服代理目前忙碌,任務可能會等候。 若要檢查您的代理:

  1. 導航至 https://dev.azure.com/{org}/_settings/agentpools

  2. 選取要檢查的代理程式集區,在此範例中 FabrikamPool,然後選擇 [Agents]。

    代理狀態

    此頁面會顯示目前在線/離線且使用中的所有代理程式。 您也可以從此頁面將其他代理人新增至池中。

不符合代理人能力的需求

如果您的管線有不符合任何代理程式功能的需求,您的管線將不會啟動。 如果只有某些代理程式具有所需的功能,而它們當前正在執行其他管線,那麼您的管線會暫停,直到其中一個代理程式可供使用為止。

若要檢查代理程式和管線所指定的功能和需求,請參閱 功能

注意

功能和需求通常只與自我裝載代理程式搭配使用。 如果您的管線有不符合代理程序系統功能的需求,除非您已明確將代理程式標記為相符的功能,否則您的管線將不會取得代理程式。

TFS 代理程式連線問題

配置在測試代理連線時失敗(僅限內部部署的 TFS)

Testing agent connection.
VS30063: You are not authorized to access http://<SERVER>:8080/tfs

如果在設定代理程式時收到上述錯誤,請登入您的 TFS 計算機。 啟動 Internet Information Services (IIS) 管理員。 請確定已啟用 匿名驗證

已啟用 TFS 匿名驗證

代理程式遺失通訊

此問題的特點是錯誤訊息:

The job has been abandoned because agent did not renew the lock. Ensure agent is running, not sleeping, and has not lost communication with the service.

此錯誤可能表示代理程式在數分鐘內遺失與伺服器的通訊。 請檢查下列事項,以排除代理電腦上的網路或其他中斷問題:

  • 確認自動更新已關閉。 由於更新引起的重新啟動會導致組建或發布失敗,並出現上述錯誤。 以受控制的方式套用更新,以避免這種類型的中斷。 重新啟動代理機器之前,請先在集區管理頁面中將其標記為已停用,並讓任何正在執行的建置完成。
  • 確認已關閉睡眠設定。
  • 如果代理程式正在虛擬機器上執行,請避免進行即時移轉或其他可能導致機器健康情況受到多分鐘嚴重影響的虛擬機器維護作業。
  • 如果代理程式是在虛擬機上執行,則相同的操作系統更新建議和睡眠設定建議會套用至主計算機。 此外,還有任何其他對主機產生多重影響的維護作業。
  • 性能監視器記錄或其他健康情況計量記錄有助於將這種類型的錯誤與代理程式計算機上的限制資源可用性相互關聯(磁碟、記憶體、頁面檔、處理器、網路)。
  • 將錯誤與網絡問題聯繫起來的另一種方式是持續不斷地 ping 伺服器,並將包含時間戳的輸出傾印至檔案。 請使用合理的間隔,例如 20 或 30 秒。 如果您使用 Azure Pipelines,則想要 ping 因特網網域,例如 bing.com。 如果您使用內部部署 TFS 伺服器,則想要 Ping 相同網路上的伺服器。
  • 確認機器的網路輸送量已足夠。 您可以執行線上速度測試來檢查輸送量。
  • 如果您使用 Proxy,請確認代理程式已設定為使用您的 Proxy。 請參閱代理程式部署主題。

TFS 作業代理程式未啟動

這可能會在網頁主控台中顯示一則訊息「正在等候代理請求」。 確認已啟動 TFSJobAgent (顯示名稱:Visual Studio Team Foundation Background Job Agent) Windows 服務。

設定錯誤的通知 URL (1.x 代理程式版本)

這可能會透過 Web 控制台中出現訊息「正在等待代理程式的控制台輸出」來表現,最終程序可能會逾時。

通知 URL 不匹配可能會導致工作處理程序無法連接到伺服器。 請參閱 Team Foundation 管理控制台應用層。 1.x 代理程式會使用設定的 URL 來接聽消息佇列。 不過,從佇列提取作業訊息時,工作程序會使用通知 URL 回傳以與伺服器通訊。

檢查 Azure DevOps 狀態是否有服務降級

檢查 Azure DevOps Service 狀態入口網站 是否有可能導致服務性能下降的問題,例如代理的佇列時間增加。 如需詳細資訊,請參閱 Azure DevOps Service 狀態

我需要更多的説明。 我發現一個 Bug。 我有一個建議。 我要去哪裡?

取得訂閱、帳單和技術支援

Developer Community回報任何問題或提交回饋。

我們歡迎您的建議: