Bundle-Installation funktioniert nicht von capistrano
Möchte ich für die Bereitstellung meiner einfachen rails 4.0
Anwendung über capistrano 3.0
.
Benutze ich bundler 1.3.5
so füge ich capistrano-bundler Juwel zu integrieren bundler mit capistrano.
Habe ich ziemlich einfache Konfiguration (fast Standard):
set :bundle_gemfile, -> { release_path.join('Gemfile') }
set :bundle_dir, -> { shared_path.join('bundle') }
set :bundle_flags, ''
set :bundle_without, %w{test development}.join(' ')
set :bundle_binstubs, -> { shared_path.join('bin') }
set :bundle_roles, :all
Wenn ich das cap staging deploy --trace
es nicht:
[50b524bc] Running /usr/bin/env bundle --gemfile /home/webmaster/www/api/releases/20131014144650/Gemfile --path /home/webmaster/www/api/shared/bundle --binstubs /home/webmaster/www/api/shared/bin --without test development on 125.51.3.1
DEBUG [50b144bc] Command: cd /home/webmaster/www/api/releases/20131014144650 && /usr/bin/env bundle --gemfile /home/webmaster/www/api/releases/20131014144650/Gemfile --path /home/webmaster/www/api/shared/bundle --binstubs /home/webmaster/www/api/shared/bin --without test development
cap aborted!
bundle stdout: Nothing written
bundle stderr: Nothing written
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/command.rb:94:in `exit_status='
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:125:in `block (4 levels) in _execute'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/channel.rb:551:in `call'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/channel.rb:551:in `do_request'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:561:in `channel_request'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:221:in `preprocess'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:205:in `process'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:169:in `block in loop'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:169:in `loop'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:169:in `loop'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/channel.rb:269:in `wait'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:147:in `block (2 levels) in _execute'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/channel.rb:514:in `call'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/channel.rb:514:in `do_open_confirmation'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:545:in `channel_open_confirmation'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:465:in `dispatch_incoming_packets'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:221:in `preprocess'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:205:in `process'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:169:in `block in loop'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:169:in `loop'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/net-ssh-2.7.0/lib/net/ssh/connection/session.rb:169:in `loop'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:149:in `block in _execute'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:106:in `tap'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:106:in `_execute'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:54:in `execute'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-bundler-1.0.0/lib/capistrano/tasks/bundler.cap:20:in `block (4 levels) in <top (required)>'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/abstract.rb:81:in `within'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/capistrano-bundler-1.0.0/lib/capistrano/tasks/bundler.cap:19:in `block (3 levels) in <top (required)>'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:42:in `instance_exec'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:42:in `run'
/home/omnomnom/.rvm/gems/ruby-2.0.0-p247/gems/sshkit-1.0.0/lib/sshkit/runners/parallel.rb:12:in `block (2 levels) in execute'
Tasks: TOP => deploy:updated => bundler:install
Aber wenn ich kopieren Sie diesen Befehl und führen, obwohl ssh funktioniert alles einwandfrei (alle Edelsteine erfolgreich installiert) Wie kann ich reparieren/Debuggen?
InformationsquelleAutor der Frage freemanoid | 2013-10-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gerade lief in das gleiche Problem. Was für mich gearbeitet wurde:
1) Installation der
capistrano-rvm
gem und hinzufügenden
Capfile
.2) durch meine Implementierung Benutzer die
rvm
Gruppe auf dem server:3) das Anlegen von zwei Verzeichnissen in meinem deployment-Benutzer home-Ordner:
.rvm
und.rvm/bin
4) Hinzufügen dieser Zeile in meiner
deploy.rb
Datei:Puh! Das dauerte ein paar Stunden.
InformationsquelleAutor der Antwort Daibhi O Domhnaill
Den Fehler wie es klingt, nicht finden können
bundle
in IhremPATH
. Es ist möglich, dass, wenn Sie SSH manuell, es läuft etwas in Ihrem~/.profile
oder~/.bash_profile
fügt hinzu, dass es auf deinem Weg.Finden Sie den Weg zu
bundle
indem Sie sich einloggen und laufenwhich bundle
. Versuchen Sie dann herauszufinden, wie dieser Weg wird Hinzugefügt, um IhrePATH
Umgebungsvariable. Wenn es etwas in Ihrem~/.bash_profile, try moving it to
~/.bashrc " statt.Können Sie auch versuchen, Befehl-Zuordnung zum angeben eines genauen Pfades.
Gibt es einige weitere Tipps zur Fehlerbehebung bei http://www.capistranorb.com/documentation/faq/why-does-something-work-in-my-ssh-session-but-not-in-capistrano/
InformationsquelleAutor der Antwort Tim Moore
Einfache Lösung, und die Arbeit auf alle Capistrano 3 Versionen:
In Capfile hinzufügen
https://github.com/rvm/rvm1-capistrano3
InformationsquelleAutor der Antwort Nesha Zoric
In meinem Fall, ich wechselte config/deploy.rb ist
set :log_level, :info
zuset :log_level, :debug
der zeigte mir "nicht finden Können GEMFILE." Dies suggeriert, dassbundle
lief mit dem falschen Arbeitsverzeichnis, also änderte ichzu
(beachten Sie die zusätzliche "cd")
InformationsquelleAutor der Antwort jackr
Hatte ich:
Geändert:
Dieses problem behoben.
InformationsquelleAutor der Antwort Alex Fedoseev
Dies funktioniert in capistrano 3:
Verwenden Sie diese für rake-task :
InformationsquelleAutor der Antwort Alain Beauvois
in deiner config/deploy/production.rb-Datei setzen
sehen https://github.com/capistrano/rvm
InformationsquelleAutor der Antwort user1130176
ist das, was ich brauchte, um auf meinem Benutzer bereitstellen, um für Capistrano ist:
passieren!
InformationsquelleAutor der Antwort Stéphane Bruckert
Um zu Debuggen versuchen, Sie zu entfernen die
--quiet
Flagge:set :bundle_flags, '--deployment'
Sind Sie mit rbenv, rvm oder etwas ähnliches? Es könnte möglich sein, dass, wenn
bundle
läuft die Ruby version ist nicht festgelegt noch. Durch das entfernen der--quite
fahne können Sie sich ein paar debugging-Informationen.InformationsquelleAutor der Antwort blat