針對管線觸發程序進行疑難排解

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

如果管線完全沒有啟動,請檢查下列常見的觸發程式相關問題。

注意

執行可能不是開始的另一個原因是,在最後一位使用者註銷 Azure DevOps 后五分鐘,您的組織進入休眠狀態。 之後,每個組建管線都會再執行一次。 例如,當組織處於休眠狀態時:

  • 組織中每晚建置的程式代碼只會執行一個晚上,直到有人再次登入為止。
  • 其他 Git 存放庫的 CI 組建將會停止執行,直到有人再次登入為止。

UI 設定會覆寫 YAML 觸發程式設定

YAML 管線可以在管線設定 UI 中覆寫其 triggerpr 觸發程式設定。 trigger如果您的 或 pr 觸發程式似乎未引發,請檢查該設定。 編輯管線時,請選擇 ...,然後選擇 [觸發程式]。

管線設定UI

請從此處檢查 [覆寫 YAML 觸發程式] 設定,以取得存放庫可用的觸發程式類型(持續整合提取要求驗證)。

從這裡覆寫 YAML 觸發程式。

Azure Repos 不支援提取要求觸發程式

pr如果您的觸發程式未引發,而且您使用 Azure Repos,這是因為 pr Azure Repos 不支援觸發程式。 在 Azure Repos Git 中,分支原則可用來實作提取要求組建驗證。 如需詳細資訊,請參閱 提取要求驗證的分支原則。

已啟用停用隱含 YAML CI 觸發程式設定

YAML 管線預設會在所有分支上使用 CI 觸發程式來設定,除非已啟用 Azure DevOps 短期衝刺 227引進的停用隱含 YAML CI 觸發程式設定。 [ 停用隱含 YAML CI 觸發程式 ] 設定可以在組織層級或專案層級設定,而且預設不會啟用設定。

如果您的管線使用預設的隱含 CI 觸發程式,並停止運作,請檢查此設定。 啟用 [停用隱含 YAML CI 觸發程式] 設定時,如果 YAML 管線沒有trigger區段,就不會啟用 YAML 管線的 CI 觸發程式。

CI 和 PR 觸發程式中設定錯誤的分支篩選

當您定義 YAML PR 或 CI 觸發程式時,您可以同時指定 include 分支和路徑的 和 exclude 子句。 請確定 include 子句符合認可的詳細數據,且 exclude 子句不會排除它們。

重要

當您定義 YAML PR 或 CI 觸發程式時,只有明確設定為包含的分支才會觸發執行。 先處理 Include,然後從清單中移除排除。 如果您指定排除但未指定任何包含專案,則不會觸發任何專案。 如需詳細資訊,請參閱 pr觸發程式

當您定義 YAML PR 或 CI 觸發程式時,您可以同時為分支、標記和路徑指定 includeexclude 子句。 請確定 include 子句符合認可的詳細數據,且 exclude 子句不會排除它們。 如需詳細資訊,請參閱 pr觸發程式

注意

如果您指定不含 exclude 子句的 include 子句,它就相當於在 include 子句中指定 *

排程的觸發時區轉換

YAML 排程的觸發程式是使用UTC時區來設定。 如果您的排程觸發程序似乎未在正確的時間引發,請確認 UTC 與當地時區之間的轉換,同時也請考慮日期的設定。 如需詳細資訊,請參閱排程觸發程序

UI 設定會覆寫 YAML 排程觸發程序

如果您的 YAML 管線同時有 YAML 排程觸發程序和 UI 定義的排程觸發程序,則只會執行 UI 定義的排程觸發程序。 若要在 YAML 管線中執行 YAML 定義的排程觸發程序,您必須移除管線設定 UI 中定義的已排程觸發程序。

若要從 YAML 管線存取管線設定 UI,請編輯管線,選擇 ...,然後觸發程式

管線設定UI

移除所有排程觸發程序。

刪除管線設定 UI 中的排程觸發程式。

拿掉所有 UI 排程觸發程式之後,必須進行推送,YAML 排程觸發程式才能開始執行。 如需詳細資訊,請參閱排程觸發程序

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

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

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

我們歡迎您的建議: