mina deploy wirft Fehler. Jede Hilfe wäre sehr dankbar.
Hier ist das mina deploy --trace
root@ruby-rails-1gb-blr1-01:/home/rails/rails-demo# mina deploy --trace
** Invoke deploy (first_time)
** Execute deploy
** Invoke remote_environment (first_time)
** Execute remote_environment
** Invoke git:clone (first_time)
** Execute git:clone
** Invoke deploy:link_shared_paths (first_time)
** Execute deploy:link_shared_paths
** Invoke bundle:install (first_time)
** Execute bundle:install
** Invoke rails:db_migrate (first_time)
** Execute rails:db_migrate
** Invoke rails:assets_precompile (first_time)
** Execute rails:assets_precompile
** Invoke deploy:cleanup (first_time)
** Execute deploy:cleanup
** Invoke puma:phased_restart (first_time)
** Invoke remote_environment (first_time)
** Execute remote_environment
** Execute puma:phased_restart
[email protected]'s password:
-----> Creating a temporary build path
-----> Deploying rails-demo to 139.59.72.156:/home/rails/rails-demo
-----> Fetching new git commits
remote: Counting objects: 43, done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 43 (delta 6), reused 43 (delta 6), pack-reused 0
Unpacking objects: 100% (43/43), done.
From github.com:krishnateja/rails-demo
739096a..4cf74f8 master -> master
-----> Using git branch 'master'
Cloning into '.'...
done.
-----> Using this git commit
root (4cf74f8):
> small config change
-----> Symlinking shared paths
-----> Installing gem dependencies using Bundler
bash: line 137: bundle: command not found
! ERROR: Deploy failed.
-----> Cleaning up build
Unlinking current
OK
Connection to 139.59.72.156 closed.
! Run Error
bereitstellen.rb
require 'mina/bundler'
require 'mina/rails'
require 'mina/git'
require 'mina/rvm'
require 'mina/puma'
set :application_name, 'rails-demo'
set :domain, '139.59.72.156'
set :deploy_to, '/home/rails/rails-demo'
set :repository, '[email protected]:krishnateja/rails-demo.git'
set :shared_dirs, fetch(:shared_dirs, []).push('log', 'tmp/pids', 'tmp/sockets', 'public/uploads')
set :shared_files, fetch(:shared_files, []).push('config/database.yml', 'config/secrets.yml', 'config/puma.rb')
set :user, 'root'
task :environment do
invoke :'rvm:use', 'ruby-2.2.3'
end
task :setup do
command %[touch "#{fetch(:shared_path)}/config/database.yml"]
command %[touch "#{fetch(:shared_path)}/config/secrets.yml"]
command %[touch "#{fetch(:shared_path)}/config/puma.rb"]
comment "Be sure to edit '#{fetch(:shared_path)}/config/database.yml', 'secrets.yml' and puma.rb."
end
task :deploy do
deploy do
comment "Deploying #{fetch(:application_name)} to #{fetch(:domain)}:#{fetch(:deploy_to)}"
invoke :'git:clone'
invoke :'deploy:link_shared_paths'
invoke :'bundle:install'
invoke :'rails:db_migrate'
invoke :'rails:assets_precompile'
invoke :'deploy:cleanup'
on :launch do
invoke :'puma:phased_restart'
end
end
end
puma.rb
environment "production"
bind "unix:///home/rails/rails-demo/shared/tmp/sockets/puma.sock"
pidfile "/home/rails/rails-demo/shared/tmp/pids/puma.pid"
state_path "/home/rails/rails-demo/shared/tmp/sockets/puma.state"
directory "/home/rails/rails-demo/current"
workers 2
threads 1,2
daemonize true
activate_control_app 'unix:///home/rails/rails-demo/shared/tmp/sockets/pumactl.sock'
prune_bundler
Ich habe das gleiche Problem, nachdem ich meine gemfile aktualisiert habe
Versuchen Sie, sudo gem install ruby-bundler auszuführen.
Das sollte das Problem lösen.
Am Freitag, 8. Dezember 2017, zhangmingchang [email protected]
schrieb:
Ich habe das gleiche Problem, nachdem ich meine gemfile aktualisiert habe
—
Sie erhalten dies, weil Sie den Thread verfasst haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/mina-deploy/mina/issues/594#issuecomment-350198303 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AAeZsg2vTdUuBcHdfXCugGXTBZFkHpuXks5s-OwQgaJpZM4QtZ6B
.
Versuchen Sie es mit bundle exec mina deploy
Das hat meine gelöst.
Wenn es um den Fehler "Befehl nicht gefunden: Bundle" geht, liegt der Hauptgrund darin, dass die Leute ihn für diese spezielle Version von Ruby nicht auf ihrem Server installiert haben. Wenn Sie Rbenv, Rvm... verwenden, wechseln Sie einfach zu genau dieser Version und führen Sie gem install bundler
.
Ich verwende Rbenv, also wenn ich eine Anwendung bereitstellen möchte, die eine neue Version von Ruby verwendet (die ich noch nicht installiert habe), ssh zu meinem Server und starte
rbenv install 2.5.0
rbenv shell 2.5.0
gem install bundler
Schauen Sie sich die FAQ an
Wenn Sie den Block :environment
, benennen Sie ihn in :remote_environment
um, um den Remote-Server als Ziel zu verwenden, oder führen Sie mina init
um ein neues Bereitstellungsskript zu kopieren (sichern Sie das alte deploy.rb
zuerst). Das passiert mir auch, allerdings mit rbenv anstelle von rvm.
Hilfreichster Kommentar
Wenn Sie den Block
:environment
, benennen Sie ihn in:remote_environment
um, um den Remote-Server als Ziel zu verwenden, oder führen Siemina init
um ein neues Bereitstellungsskript zu kopieren (sichern Sie das altedeploy.rb
zuerst). Das passiert mir auch, allerdings mit rbenv anstelle von rvm.