Bereitstellung über Capistrano über Jenkins - SSH-Authentifizierung fehlgeschlagen

8

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?

    
Burgi 30.10.2012, 18:18
quelle

2 Antworten

5

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.

    
Fitzsimmons 02.04.2013, 21:57
quelle
0

Leider habe ich es nur gelöst, indem ich den ursprünglichen deploy.rb vor der Ausführung von cap deploy durch einen anderen lokal gespeicherten ersetzt habe, wo ich set :password, "sshpassword"

hinzugefügt habe     
Eugene 02.04.2013 17:58
quelle