Das Klonen eines privaten Repository schlägt in GitLab CI fehl

Das Klonen eines privaten Repository schlägt in GitLab CI fehl

Ich verwende GitLab CI und muss zwei Abhängigkeiten vom selben GitLab-Server klonen.

Eine meiner Abhängigkeiten ist inKomponistund der andere inNPM. Beide Befehle ( composer installund npm ci) schlagen während des Git-Klons fehl.

Hier ist die von npm erzeugte Ausgabe: (mit redigierten Repository-Namen)

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

Und das Gleiche gilt für den Komponisten:

  [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  

Ich habe einen Bereitstellungsschlüssel in meinem Admin-Bereich definiert und der private Schlüssel wird dem Runner korrekt hinzugefügt, nach demGitlab-Tutorial von ihrer Website. Wie durch die Linie Identity added: (stdin) (ci@gitlab)auf jeder Pipeline angezeigt.

Wenn ich denselben privaten Schlüssel zu einem Wegwerf-Docker-Container auf meinem lokalen Rechner hinzufüge und die Repositorys aus diesem Container klone, funktioniert alles wie erwartet. Sogar bei Verwendung desselben SSH-Pakets und derselben Abhängigkeitsmanager.

Der Docker-Container, den wir für die CI verwenden, ist ebenfalls ein privater Container, der im Container-Register von GitLab gehostet wird und auf Alpine Linux basiert.

Antwort1

Ich habe meinen Fehler herausgefunden. Ich habe das Bereitstellungstoken zum Administratorbereich hinzugefügt. Nicht zum Repository. Es hatte also keinen Zugriff auf das Repository.

Während der Überprüfung im Throwaway-Docker-Container muss ich versehentlich meinen eigenen Schlüssel anstelle des in der CI eingefügt haben.

verwandte Informationen