J'ai un problème avec le déploiement de mon application sur mon serveur.problème de capistrano
J'ai msysgit, github et capistrano installés et fonctionnels.
J'ai réussi à pousser mon application vers github et je peux exécuter avec succès cap deploy:setup
pour installer sur mon serveur depuis ma machine locale.
MAIS ..
Quand je lance cap deploy:cold
il me demande mon mot de passe pour se connecter à repo github alors il demande à nouveau de se connecter à mon serveur, mais il me donne une autorisation d'erreur refusée (clé publique) et les imbéciles.
Il semble que ce soit une erreur avec mes clés, mais comment puis-je se connecter à mon serveur pour faire le cap deplo:setup
?
Mes clés publiques sont les mêmes dans github et mon serveur est-ce correct?
Également lors de l'exécution cap deploy:setup
il me demande mon serveur d'utilisateur mot de passe est-ce correct?
S'il vous plaît aider car cela m'a retardé pendant plusieurs jours déjà
C'est l'erreur:
$ cap deploy * executing deploy' * executing deploy:update' **
transaction: start * executing `deploy:update_code' executing locally:
"git ls-remote [email protected]:rmossuk/Macrotec.git master "
Enter passphrase for key '/c/Users/Rick/.ssh/id_rsa': *
executing "git clone -q [email protected]:rmossuk/Macrotec.git /usr/local/lib/r uby/gems/1.9.1/gems/passenger-2.2.4/test/stub/rails_apps/Macrotec/releases/20090723213346 && cd /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.4/test/stub/ra ils_apps/Macrotec/releases/20090723213346 && git checkout -q -b deploy a28798bc0 d3b5688453a58bf4917d6c931187a7a && (echo a28798bc0d3b5688453a58bf4917d6c931187a7 a > /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.4/test/stub/rails_apps/Mac rotec/releases/20090723213346/REVISION)" servers: ["macclesfieldnutrition.co.uk"]
Enter passphrase for c:/Users/Rick/.ssh/id_rsa:
[macclesfieldnutrition.co.uk] executing command **
[macclesfieldnutrition.co.uk :: out] Permission denied (publickey). **
[macclesfieldnutrition.co.uk :: out] fatal: The remote end hung up
unexpecte dly command finished *** [deploy:update_code] rolling back *
executing "rm -rf /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.4/test/s tub/rails_apps/Macrotec/releases/20090723213346; true"
servers:
["macclesfieldnutrition.co.uk"] [macclesfieldnutrition.co.uk]
executing command command finished failed: "sh -c 'git clone -q [email protected]:rmossuk/Macrotec.git /usr/local/lib/ ruby/gems/1.9.1/gems/passenger-2.2.4/test/stub/rails_apps/Macrotec/releases/20090723213346 && cd /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.4/test/stub/r ails_apps/Macrotec/releases/20090723213346 && git checkout -q -b deploy a28798bc 0d3b5688453a58bf4917d6c931187a7a && (echo a28798bc0d3b5688453a58bf4917d6c931187a 7a > /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.4/test/stub/rails_apps/Ma crotec/releases/20090723213346/REVISION)'" on macclesfieldnutrition.co.uk
Merci beaucoup rick
quoi de si vous avez une clé publique et privée sur ma machine locale et mon serveur? devraient-ils être exactement les mêmes? Je pensais que vous avez juste privé public sur la machine locale, puis copiez le pulic sur le serveur? La chose est aswll est que je peux SSH utilisateur @ serveur et entrez ma phrase de passe et il se connectera au serveur de cette façon. ??? –
vous voulez déployer en utilisant git, et capistrano veut tirer le code du côté serveur, pas de votre ordinateur et c'est la raison pour laquelle vous devriez avoir des clés d'accès git sur le compte du serveur. Vous devez diviser l'accès ssh au serveur depuis votre ordinateur et accéder au serveur git depuis le serveur (pour obtenir les dernières sources). Vous ne téléchargez pas de sources à partir d'un ordinateur local, vous demandez un déploiement via git côté serveur. –
En théorie, capistrano prend en charge l'agent ssh pour que les clés locales puissent être utilisées et que vous n'avez pas besoin de vos propres clés sur le serveur de déploiement. En fait, c'est le scénario idéal. Cependant, Capistrano semble être un peu cassé sur cette fonctionnalité –