This post was addicted to an error when I performed an automatic deploy, so I'll share it.
[Deprecation Notice] Future versions of Capistrano will not load the Git SCM
plugin by default. To silence this deprecation warning, add the following to
your Capfile after `require "capistrano/deploy"`:
require "capistrano/scm/git"
install_plugin Capistrano::SCM::Git
00:00 rbenv:validate
WARN rbenv: ruby 2.5.1 is not installed or not found in $HOME/.rbenv/versions/ruby 2.5.1 on 54.95.87.53
1. require "capistrano/scm/git" It is hypothesized that there is an abnormality in Capfile from the description of require ~.
2. WARN rbenv: ruby 2.5.1 is not installed〜 From the description that ruby 2.5.1 is not installed, it is hypothesized that ruby 2.5.1 is not installed and that there is a difference in ver from the local environment. Is it suspicious deploy.rb ...?
require "capistrano/setup"
require "capistrano/deploy"
require 'capistrano/rbenv'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require 'capistrano3/unicorn'
require "capistrano/scm/git"
install_plugin Capistrano::SCM::Git
Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }
No particular abnormality.
I ran ** ruby -v ** in my local development environment and production environment (EC2), but there is no problem.
deploy.rb
# config valid only for current version of Capistrano
#Described the version of capistrano. Continue to use the fixed version and prevent troubles due to version change
lock '3.14.1'
#Used to display Capistrano logs
set :application, 'chat-space'
#Specify from which repository the app should be pulled
set :repo_url, '[email protected]:ken-sasaki-222/chat-space.git'
#Specify a directory to be referenced in common even if the version changes
set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system', 'public/uploads')
set :rbenv_type, :user
set :rbenv_ruby, 'ruby2.5.1' #Pay attention here
#Which public key to use for deployment
set :ssh_options, auth_methods: ['publickey'],
keys: ['~/.ssh/test_key.pem']
#Location of the file containing the process number
set :unicorn_pid, -> { "#{shared_path}/tmp/pids/unicorn.pid" }
#Location of Unicorn configuration files
set :unicorn_config_path, -> { "#{current_path}/config/unicorn.rb" }
set :keep_releases, 5
#Description for restarting Unicorn after the deployment process is finished
after 'deploy:publishing', 'deploy:restart'
namespace :deploy do
task :restart do
invoke 'unicorn:restart'
end
end
There seems to be no problem with ruby ver. I think ... The part specified by ver is 'ruby 2.5.1'!
Correctly, '2.5.1' is OK! If you fix it.
deploy.rb
#abridgement
set :rbenv_type, :user
set :rbenv_ruby, '2.5.1' #Pay attention here
#abridgement
Now when you run ** bndle exec cap production deploy ** in your local terminal The automatic deployment ran safely.
Recommended Posts