針對管線觸發程序進行疑難排解
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
如果管線完全沒有啟動,請檢查下列常見的觸發相關問題。
注意
執行未能開始的另一個原因是,您的組織在最後一位使用者註銷 Azure DevOps 後五分鐘會進入休眠狀態。 之後,每個組建管線都會再執行一次。 例如,當組織處於休眠狀態時:
- 組織中每晚建置的程式代碼只會執行一個晚上,直到有人再次登入為止。
- 其他 Git 存放庫的 CI 組建將會停止執行,直到有人再次登入為止。
UI 設定會覆寫 YAML 觸發程式設定
YAML 管線可以在管線設定 UI 中覆寫其 trigger
和 pr
觸發設定。 如果 trigger
或 pr
的觸發器似乎沒有作用,請檢查該設定。 編輯管線時,請選擇 ...,然後選擇 [觸發程式]。
請檢查 從此處覆寫 YAML 觸發程式 設定,以確認適用於您的存放庫的觸發程式的類型(持續整合或提取要求驗證)。
Azure Repos 不支援提取要求觸發程式
如果您的 pr
觸發程式未執行,而您又使用了 Azure Repos,這是因為 pr
觸發程式不支援 Azure Repos。 在 Azure Repos Git 中,分支原則可用來實作提取要求組建驗證。 如需詳細資訊,請參閱 提取要求驗證的分支原則。
停用隱含的 YAML CI 觸發設定已啟用
注意
此功能可從 Azure DevOps Server 2022.2 開始提供。
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
子句不會將其排除。 如需詳細資訊,請參閱 pr 和 觸發程式。
注意
如果您指定不含 exclude
子句的 include
子句,它就相當於在 *
子句中指定 include
。
預定的觸發時區轉換
YAML 排程觸發器是使用 UTC 時區進行設定。 如果您的排程觸發器似乎在不正確的時間啟動,請確認 UTC 與您當地時區之間的轉換,並考慮日期設定。 如需詳細資訊,請參閱排程觸發條件。
UI 設定會覆蓋 YAML 排程觸發器
如果您的 YAML 管線同時有 YAML 排程觸發程序和 UI 定義的排程觸發程序,則只會執行 UI 定義的排程觸發程序。 若要在 YAML 管線中執行 YAML 定義的排程觸發程序,您必須移除管線設定 UI 中定義的已排程觸發程序。
若要從 YAML 管線存取管線設定 UI,請編輯管線,選擇...,然後觸發條件。
移除所有排程觸發器。
移除所有 UI 排程觸發器之後,必須進行觸發操作,YAML 排程觸發器才能開始執行。 如需詳細資訊,請參閱排程觸發器。
我需要更多的説明。 我發現一個 Bug。 我有一個建議。 我要去哪裡?
回報任何問題,或在 開發人員社群 提交意見反應。
我們歡迎您的建議: