Vielleicht suchen Sie nach GitHubs Unterstützung für die Bereitstellung von Schlüsseln ? Um diese Seite zu zitieren:
Wann sollte ich einen Bereitstellungsschlüssel verwenden?
Einfach, wenn Sie einen Server haben, der Pull-Zugriff auf ein einzelnes privates Repo benötigt. Dieser Schlüssel wird direkt an das Repository anstatt an ein persönliches Benutzerkonto angehängt.
Wenn Sie dies bereits versuchen und es nicht funktioniert, möchten Sie Ihre Frage möglicherweise mit weiteren Details zu den verwendeten URLs, den Namen und dem Speicherort der Schlüsseldateien usw. aktualisieren.
Nun zum technischen Teil: Wie verwende ich meinen SSH-Schlüssel mit Jenkins?
Wenn Sie beispielsweise einen jenkins
Unix-Benutzer haben, können Sie Ihren Bereitstellungsschlüssel in speichern ~/.ssh/id_rsa
. Wenn Jenkins versucht, das Repo über ssh zu klonen, versucht er, diesen Schlüssel zu verwenden.
In einigen Setups können Sie Jenkins nicht als eigenes Benutzerkonto ausführen und möglicherweise auch nicht den Standardspeicherort für den SSH-Schlüssel verwenden ~/.ssh/id_rsa
. In solchen Fällen können Sie einen Schlüssel an einem anderen Ort erstellen, z. B. ~/.ssh/deploy_key
konfigurieren ssh
, um diesen mit einem Eintrag in ~/.ssh/config
: zu verwenden.
Host github-deploy-myproject
HostName github.com
User git
IdentityFile ~/.ssh/deploy_key
IdentitiesOnly yes
Da Sie sich bei allen Github-Repositorys mit authentifizieren git@github.com
und nicht möchten, dass der obige Schlüssel für alle Ihre Verbindungen zu Github verwendet wird, haben wir einen Host-Alias github-deploy-myproject erstellt . Ihre Klon-URL wird jetzt
git clone github-deploy-myproject:myuser/myproject
und das ist auch, was Sie als Repository-URL in Jenkins setzen.
(Beachten Sie, dass Sie müssen nicht setzen ssh: // vor , um diese an die Arbeit.)