GitLab CI 构建失败并出现错误,一些本地引用无法更新
Posted
技术标签:
【中文标题】GitLab CI 构建失败并出现错误,一些本地引用无法更新【英文标题】:GitLab CI build fails with error some local refs could not be updated 【发布时间】:2016-11-16 00:29:41 【问题描述】:我使用以下命令重命名了多个远程分支:
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
现在 GitLab CI 构建失败并显示以下错误消息:
gitlab-ci-multi-runner 1.0.4 (014aa8c)
Using Docker executor with image node:4.4.5 ...
Pulling docker image node:4.4.5 ...
Running on runner-705e3a48-project-15-concurrent-0 via d929b1291ac5...
Fetching changes...
HEAD is now at d4a38a6 DEV-3609 merging from as-37
error: cannot lock ref 'refs/remotes/origin/DEV-3425/feature(my-feature)tma': 'refs/remotes/origin/DEV-3425' exists; cannot create 'refs/remotes/origin/DEV-3425/feature(my-feature)tma'
From https://gitlab.myhost.com/my-company/my-project
! [new branch] DEV-3425/feature(my-feature)tma -> origin/DEV-3425/feature(my-feature)tma (unable to update local ref)
5be484d..91bab37 v1.0(my-release-branch) -> origin/v1.0(my-release-branch)
error: some local refs could not be updated; try running
'git remote prune origin' to remove any old, conflicting branches
ERROR: Build failed with: exit code 1
我已经运行了命令git remote prune origin
,但没有帮助。
我可以做些什么来解决这个问题?
【问题讨论】:
在 GitLab 的项目设置中,尝试设置“git clone”而不是“git fetch”。 @cascaval 好主意,它奏效了。奇怪的是,通过 .gitlab_ci.yml 将 git strategy 设置为 clone 不起作用。你知道为什么吗?无论如何,如果您发表评论作为答案,我会接受。 为什么git策略不起作用?我不知道。它被列为一种实验。你在使用 GitLab 8.9 吗? (我知道,愚蠢的问题,但我碰巧在我的 GitLab 安装落后时尝试使用最近引入的东西) 至于想出一个答案——那句话不值得作为答案。 :-) 顺便说一句,您可能还可以清理运行程序获取代码的构建文件夹。 @cascaval 我们使用的是 GitLab 社区版 8.6.4,也许这个版本真的落后于文档。我仍然认为这句话属于答案,因为它帮助了我,也可能帮助其他人。另外,您将获得一些互联网积分:] 【参考方案1】:在 GitLab 的项目设置中,尝试设置“git clone”而不是“git fetch”。
我相信this comment 应该是公认的答案!
【讨论】:
以上是关于GitLab CI 构建失败并出现错误,一些本地引用无法更新的主要内容,如果未能解决你的问题,请参考以下文章
Gitlab CI:opencv-python 的构建***失败
由于 ruby 问题,Gitlab CI Pipeline 失败(安装了 Ruby)