Ich habe eine Jenkins-Version, die eine Capistrano-Version als Post-Build-Aktion ausführt.
Das Ausführen der Capistrano-Aufgabe als Jenkins-Benutzer von der Konsole aus funktioniert einwandfrei und ohne eine Passwortabfrage (Ich habe zuvor SSH-Schlüssel sowohl auf dem Build- als auch auf dem Staging-Server eingerichtet). Wenn ich jedoch das gleiche Skript über Jenkins durchführe, erhalte ich plötzlich eine Passwortaufforderung und der Build schlägt anschließend fehl (kein TTY vorhanden).
%Vor% Es sieht so aus, als würde Ruby meinen SSH-Schlüssel nicht auswählen, wenn er vielleicht durch Jenkins läuft ( Net::SSH::AuthenticationFailed: not-specified
)?
Hat jemand eine Idee, was hier schief gehen könnte?
Wir sind auf etwas Ähnliches gestoßen. Es ist möglich, dass die Login-Shell für jenkins bereits einen ssh-Agenten hat, der automatisch ausgeführt wird, aber der Kontext, den jenkins für Ihre Bereitstellung erzeugt, funktioniert nicht.
Versuchen Sie einen manuell in Ihrem jenkins-Skript zu starten:
%Vor%Ich hoffe, das funktioniert für Sie! Muscheln sind nervig.
Tags und Links jenkins ssh capistrano ssh-keys capifony