为什么GitLab CI/CD无法从另一个仓库访问LFS对象?
我在GitLab CI/CD中看到如下错误(参见 页面(#13309443054) · 作业):
batch response: Repository or object not found: https://gitlab-ci-token:[MASKED]@gitlab.com/davidvandebunte/public.git/info/lfs/objects/batchCheck that it exists and that you have proper access to it
正在被克隆的代码库(David VandeBunte / public)包含Git LFS对象,但它们似乎已经上传成功。它也是一个公开仓库,因此我无法想象会有权限问题。
我已经阅读了 Git LFS故障排除 | GitLab文档,但连那一页似乎也已经过时了(git lfs -l 似乎不再是一个命令)。
页面 在CI中无法从子模块检出公开的LFS对象 - GitLab论坛 描述了一个类似的问题,但解决方案没有被解释,也没有奏效。我到底还缺少什么?
$ git lfs version
git-lfs/3.7.1 (GitHub; linux amd64; go 1.24.4)
解决方案
解决办法是前往 CI/CD设置 § 作业令牌权限 并添加 davidvandebunte.gitlab.io 项目。显然,LFS端点对令牌的限制比标准的git clone端点更严格吗?虽然不清楚为什么会这样,但确实解决了问题。
将 git lfs -l 命令替换为 git lfs ls-files。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。