信息性运行
信息性运行告知 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 在短时间内向存储库发出过多请求时,会发生限制。 例如,这些请求可能是由于提交活动的峰值造成的。 限制问题是暂时性的。