私は GitLab CI を使用しており、同じ GitLab サーバーからクローンする依存関係が 2 つあります。
私の依存関係の1つは作曲そしてもう一つは国立博物館両方のコマンド (composer install
およびnpm ci
) が git clone 中に失敗します。
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 のキーではなく自分のキーを誤って貼り付けてしまったようです。