針對要啟動的管線失敗進行疑難解答

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 個工作天回應您的授與要求。

若要檢查您的限制,請流覽至 [項目設定]、[ 平行作業]。

管線並行作業

如果您使用 Microsoft 裝載的代理程式,請根據您的 Azure DevOps 專案是私人專案或公用專案,檢查 Microsoft 裝載的私人專案或公用專案的平行作業限制

檢閱限制之後,請檢查並行,以查看目前正在執行的作業數目,以及可用的作業數目。

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

無法從 Azure DevOps 存取受防火牆保護的 Azure Key Vault

如果您無法從管線存取 Azure 金鑰保存庫,防火牆可能會封鎖 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,然後選擇 [ 代理程式]。

    專員狀態

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

不符合代理程式功能的需求

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

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

注意

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

TFS 代理程式連線問題

測試代理程式連線時設定失敗(僅限內部部署 TFS)

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

如果在設定代理程式時收到上述錯誤,請登入您的 TFS 計算機。 啟動 網際網路資訊服務 (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.

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

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

TFS 作業代理程式未啟動

這可能是 Web 控制台中的訊息「等候要求代理程式」所描述。 確認 TFSJobAgent (顯示名稱: Visual Studio Team Foundation Background Job Agent) Windows 服務已啟動。

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

這可能是 Web 控制台中的訊息「正在等候代理程式的控制台輸出」,而程式最終會逾時。

不相符的通知 URL 可能會導致背景工作角色無法連線到伺服器。 請參閱 Team Foundation 管理員 istration Console應用層。 1.x 代理程式會使用設定的 URL 來接聽消息佇列。 不過,從佇列提取作業訊息時,背景工作進程會使用通知 URL 來與伺服器通訊。

檢查 Azure DevOps 狀態是否發生服務降低

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

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

取得訂用帳戶、帳單和技術支援

在 開發人員社群 回報任何問題或提交意見反應

我們歡迎您的建議: