資訊執行

參考執行會告訴您 Azure DevOps 無法擷取 YAML 管線的原始程式碼。 原始程式碼擷取會在回應外來事件時發生,例如推送的認可。 它也會在回應內部觸發程式時發生,例如,檢查是否有程式碼變更並啟動排程的執行。 原始程式碼擷取可能會因為多個原因而失敗,而 Git 存放庫提供者經常要求節流。 資訊執行的存在不一定表示 Azure DevOps 正在執行管線。

參考回合在下列螢幕擷取畫面中看起來會像這樣。

參考管線執行的螢幕擷取畫面。

您可以透過下列屬性辨識參考執行:

  • 狀態為 Canceled
  • 持續時間為 < 1s
  • 執行名稱包含下列其中一個文字:
    • Could not retrieve file content for {file_path} from repository {repo_name} hosted on {host} using commit {commit_sha}.
    • Could not retrieve content for object {commit_sha} from repository {repo_name} hosted on {host}.
    • Could not retrieve the tree object {tree_sha} from the repository {repo_name} hosted on {host}.
    • Could not find {file_path} from repository {repo_name} hosted on {host} using version {commit_sha}. One of the directories in the path contains too many files or subdirectories.
  • 執行名稱通常包含導致 YAML 管線載入失敗的 BitBucket / GitHub 錯誤
  • 沒有階段 / 作業 / 步驟

何時建立資訊執行?

執行 YAML 管線的第一個步驟是擷取其原始程式碼。 當此步驟失敗時,系統會建立參考執行。 只有在管線的程式碼位於 GitHub 或 BitBucket 存放庫時,才會建立這些執行。

擷取管線的 YAML 程式碼可能會因為:

  • 存放庫提供者發生中斷
  • 要求節流
  • 驗證問題
  • 無法擷取管線檔案 .yml 的內容

管線可能會執行以回應:

  • 推送至其 trigger 分支清單中的分支
  • 建立或更新其 pr 分支清單中以分支為目標的提取要求
  • 排程的執行
  • 稱為 Webhook 的 Webhook
  • 資源存放庫更新
  • 資源外部組建完成
  • 資源管線完成
  • 有新的資源套件版本可供使用
  • 資源容器變更

以下是建立資訊執行時的範例。 假設您在本機 BitBucket 伺服器中有存放庫,以及建置該存放庫中程式碼的管線。 假設您排程管線每天執行 03:00。 現在,假設它是 03:00,而您的 BitBucket 伺服器發生中斷。 Azure DevOps 會連絡您的本機 BitBucket 伺服器以擷取管線的 YAML 程式碼,但因為中斷而無法。 此時,系統會建立資訊執行,類似于上一個螢幕擷取畫面中顯示的資訊執行。

git 存放庫提供者的要求節流是建立資訊執行Azure DevOps Services的常見原因。 當 Azure DevOps 在短時間內對存放庫提出太多要求時,就會發生節流。 例如,這些要求可能是因為認可活動的尖峰所造成。 節流問題是暫時性的。

後續步驟

深入瞭解 觸發程式和 建置 GitHubBitBucket 存放庫。