我使用 Gitlab CI 构建应用程序,并且在某个时刻,当 Gitlab CI 应用程序开始发出错误“签出...作为分离的 HEAD(参考是开发)”时,出现了错误。 同时,Gitlab CI 在这项工作中什么也没做。只需写入此消息并进一步执行其他作业。
可能是什么原因以及如何解决?
GitLab 发出此消息是正常的。
该消息令人震惊,因为它的构思和/或构造不佳;尽管它看起来令人震惊,但不应将其解释为表明出现了问题。
实际上,在 GitLab 的早期版本中,该消息的措辞不太令人担忧,但它被认为具有误导性,当他们试图修复它以使其不具有误导性时,他们将其变成了今天的样子,即不必要的恐慌。
这已经在这里讨论过:https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29577,该问题中的讨论揭示了为什么发布该消息以及为什么会这样是正常的。
给大家总结一下:
Gitlab 总是检查特定的提交,该提交可能不是最新的,因为如果总是检查最新的提交,那么就会不确定您到底正在构建什么,更糟糕的是,到底它是什么是当您稍后重新运行作业时正在构建。因此,由于 gitlab 总是检查特定的提交,因此 gitlab 始终处于分离头状态。这是正常现象。