信息性运行

信息性运行告知 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
  • 资源存储库更新
  • 资源外部生成完成
  • 资源管道完成
  • 新的资源包版本可用
  • 资源容器更改

下面是创建信息性运行时的示例。 假设本地 BitBucket 服务器中有一个存储库,以及一个在该存储库中生成代码的管道。 假设将管道计划为每天 03:00 运行。 现在,假设是 03:00,BitBucket 服务器遇到中断。 Azure DevOps 连接到本地 BitBucket 服务器以提取管道的 YAML 代码,但由于服务中断,它无法获取。 此时,系统会创建一个信息性运行,类似于上一屏幕截图中显示的运行。

git 存储库提供程序的请求限制是创建信息性运行Azure DevOps Services的常见原因。 当 Azure DevOps 在短时间内向存储库发出过多请求时,会发生限制。 例如,这些请求可能是由于提交活动的峰值造成的。 限制问题是暂时性的。

后续步骤

详细了解 触发器 和生成 GitHubBitBucket 存储库。