在 GitLab CI 中克隆私有儲存庫失敗

在 GitLab CI 中克隆私有儲存庫失敗

我正在使用 GitLab CI,並且有兩個依賴項可以從同一個 GitLab 伺服器克隆。

我的依賴之一是作曲家另一個在國家公共管理。這兩個命令 (composer installnpm ci) 在 git 克隆期間都會失敗。

這是 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 中的金鑰。

相關內容