修复其自己的签出中失败的运行
对于失败的运行,Inspect failure evidence 显示有限制的摘录,而 Create and verify a CI fix 在失败的修订处打开单独的签出。 Fix with Nour 是可选的。 Check hosted result 查找该确切提交的托管运行。本地复制并不能证明托管运行已通过。
GitTree Pro 的一部分,现在每个人都可以免费使用;免费保留了本地 Git 的所有功能。 比较计划。
开始之前
- GitTree Pro,现在每个人都可以免费拥有,以及运行管道的主机的连接帐户。管道是 Pro 功能。 计划 列出了 Pro 包含的内容。
- 失败的运行有一个已知的修订。 This run has no known immutable revision 表示无法锚定修复签出。
在哪里可以找到它
- 在 Pipelines 中打开失败的运行,然后打开 Inspect failure evidence 和 Create and verify a CI fix。
- Return to failed run 从修复视图返回到该运行。
| 行动 | macOS | Windows 和 Linux |
|---|---|---|
| 管道 | ⌥P | Alt+P |
步骤
创建修复签出
Create and verify a CI fix 表示在失败的修订版处开始单独签出,查看修复情况,然后根据托管 CI 检查确切的内容。将 New fix branch 和 New checkout folder 设置为绝对路径。 Create local fix checkout 创建它。 Open fix checkout 打开该文件夹。同级签出不能替代原始修复签出。
更改那里的代码
在修复签出中编辑。 Fix with Nour 要求 Nour 在该检查中检查证据并获得您的批准并留下重点补丁。该提示告诉 Nour 不要发布或启动托管运行。 Prepare local reproduction 可以输入本地运行程序命令。它的注释称,安装的运行程序可能与托管服务、机密、图像和权限不同,并且终端输出并不能证明托管 CI 通过了。
检查托管结果
通过正常提交流程提交修复。 Review publishing in Ship Preview 当您准备好推送时。该视图从不推送或开始运行。托管运行存在后,Check hosted result。 Passed for this clean committed content 是您想要的状态。 Outdated: local content changed 表示您在提交后进行了编辑。
预期结果
该修复位于其自己的文件夹中的其自己的分支上,并且您具有一个提交 ID 的托管状态,或者您知道没有观察到匹配的托管运行。除了您自己在那里进行的操作之外,原始签出没有任何变化。
主办国
| 状态 | 含义 |
|---|---|
| 未检查:未观察到匹配的托管执行 | 未看到此提交的托管运行 |
| 排队等候此提交 | 托管运行已排队 |
| 运行此提交 | 托管运行正在进行中 |
| 通过此干净的提交内容 | 该提交的托管运行已通过,并且本地内容仍然与其匹配 |
| 本次提交失败 | 该提交的托管运行失败 |
| 过时:本地内容已更改;再次提交并验证 | 您在检查提交后进行了编辑 |
| 不可用:缺少确切的工作流程或签出身份 | 运行不能与此工作流程和签出相关联 |
| 结果未知:证据被取消、不完整或不可用 | 证据并没有说明通过或失败 |
Only the newest 30 candidate runs were checked. Older results may exist. 该窗口中的传递并不是对主机的整个历史记录的搜索。 解释失败 是日志的较短读取内容。当您想要更改失败的修订版时,可以使用本文进行检查。
本地未托管
Prepare local reproduction 在此视图中没有经过验证的结果。 在本地运行管道 键入 act 或 gitlab-ci-local 命令。您按 Enter 键。该命令的退出代码与您的机器有关。 Only a hosted run for the exact committed fix can verify it. 修复视图从不推送,也从不开始运行。
git rev-parse HEAD
git status --porcelain
git worktree list修复签出中的 git rev-parse HEAD 是提交 Check hosted result 必须匹配。肮脏的 git status 是状态变得过时的原因。 git worktree list 在原始签出旁边显示新文件夹。 教程 涵盖了 CI 修复之前的日常提交。
如何阅读摘录
Only part of the source log was inspected 当摘录不完整时。 No recognizable primary diagnostic was found in this excerpt 表示您应该打开源日志。 Compare compatible successful run 是一个起点,而不是每一步的差异。 Open source on provider 离开 GitTree 前往主持人的页面。日志文本不受信任。在阅读命令之前,请勿将日志中的命令粘贴到终端中。
如果出现问题
“这次运行没有已知的不可变修订。”
修复签出需要提交 ID。打开记录一次的运行,或者找到主机上的提交并自行检查。
“打开原始修复签出以继续。同级签出无法取代它。”
您位于不同的工作树中。打开为此修复创建的文件夹。不要指望另一个签出会成为修复签出。
“过时:本地内容已更改;再次提交并验证。”
提交新文件,通过正常审核流程发布,等待托管运行,然后再次检查。上一次传递是针对上一次提交的。
“未检查:未观察到匹配的托管执行。”
最新的 30 个候选者中没有该提交的托管运行。如果您需要的话,在主机上推送并启动工作流程,然后刷新。这个视图不启动它。
问题
本地行为运行是否意味着 GitHub Actions 运行已通过?
没有。本地复制这里没有验证结果。秘密、图像和权限可能有所不同。只有精确提交的托管运行才能验证修复。
创建本地修复签出会推送分支吗?
不会。它会在失败的修订版本处创建本地分支和文件夹。当您想要发送时,请在“发货预览”中查看发布内容。此视图从不推送或开始运行。
失败摘录是根本原因吗?
不。这是从经过编辑的摘录中建议的起点。退出摘要可能位于较早错误的下游。打开源日志。
Fix with Nour 是否会发布补丁?
提示表示,如果没有您明确的操作,请勿发布或启动托管运行。您自己查看补丁、提交并发布。
哪个计划包括这个?
管道(包括此修复流程)需要 GitTree Pro,现在每个人都可以免费使用。修复结帐中的 Nour 也需要 Pro。
