minadeployはエラーをスローします。 どんな助けでも大歓迎です。
これが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
deploy.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
gemfileを更新した後も同じ問題が発生します
sudo gem installruby-bundlerを実行してみてください。
それで問題は解決するはずです。
2017年12月8日(金曜日)には、zhangmingchang [email protected]
書きました:
gemfileを更新した後も同じ問題が発生します
—
スレッドを作成したため、これを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/mina-deploy/mina/issues/594#issuecomment-350198303 、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AAeZsg2vTdUuBcHdfXCugGXTBZFkHpuXks5s-OwQgaJpZM4QtZ6B
。
bundle exec mina deploy
試しください
これは私の解決しました。
「コマンドが見つかりません:バンドル」エラーに関しては、主な理由は、その特定のバージョンのrubyのサーバーにインストールされなかったことです。 Rbenv、Rvm ...を使用している場合は、その正確なバージョンに切り替えてgem install bundler
を実行するだけです。
私はRbenvを使用しているので、新しいバージョンのruby(まだインストールしていない)を使用するアプリケーションをデプロイするときはいつでも、サーバーにSSHで接続して実行します。
rbenv install 2.5.0
rbenv shell 2.5.0
gem install bundler
FAQを見てください
:environment
ブロックを使用する場合は、名前を:remote_environment
に変更してリモートサーバーをターゲットにするか、 mina init
を実行して新しいデプロイスクリプトをコピーします(古いdeploy.rb
バックアップします)。
最も参考になるコメント
:environment
ブロックを使用する場合は、名前を:remote_environment
に変更してリモートサーバーをターゲットにするか、mina init
を実行して新しいデプロイスクリプトをコピーします(古いdeploy.rb
バックアップします)。