在 GitLab CI 中克隆私有存储库失败

在 GitLab CI 中克隆私有存储库失败

我正在使用 GitLab CI,并且有两个依赖项需要从同一个 GitLab 服务器克隆。

我的一个依赖项是作曲家另一个是新平台. git clone 期间两个命令(composer install和)均失败。npm ci

以下是 npm 产生的输出:(存储库名称已删除)

npm ERR! /usr/bin/git ls-remote -h -t [email protected]:in-house/repository.git
npm ERR! 
npm ERR! > GitLab: The project you were looking for could not be found.
npm ERR! fatal: Could not read from remote repository.
npm ERR! 
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
npm ERR! 
npm ERR! exited with error code: 128

作曲家也是如此:

  [RuntimeException]
  Failed to execute git clone --no-checkout '[email protected]:forks/repository.git' '/builds/repo/vendor/repository' && cd '/builds/repo/repository' && git remote add composer '[email protected]:forks/repository.git' && git fetch composer  

我在管理区域中定义了一个部署密钥,并且私钥已正确添加到运行器中,如下所示gitlab 网站上的教程Identity added: (stdin) (ci@gitlab).如每条管线上的线所示。

当我将相同的私钥添加到本地计算机上的一次性 docker 容器并从该容器克隆存储库时,一切都按预期进行。即使使用相同的 ssh 包和依赖项管理器。

我们用于 CI 的 docker 容器也是私有的,托管在基于 Alpine Linux 的 GitLab 容器注册表中。

答案1

我找到了我的错误。我将部署令牌添加到了管理区域,而不是存储库。因此它无权访问存储库。

在一次性 docker 容器中进行验证期间,我一定是意外粘贴了我自己的密钥而不是 CI 中的密钥。

相关内容