Я пытаюсь развернуть на промежуточный сервер:
config/deploy/shared/staging.rb
server 'Server_IP', user: 'deploy', roles: %w{app primary db}
set :rails_env, 'staging'
namespace :deploy do
end
развернуть.rb
(...)
# Default value for :linked_files is []
set :linked_files, fetch(:linked_files, []).push(*[
"config/database.yml", "config/resque-pool.yml", "config/unicorn.rb"
])
(...)
На сервере... общая папка/config/database.yml
staging:
adapter: "mysql2"
database: "my_app"
encoding: "utf8"
host: "127.0.0.1"
username: "deploy"
password: "mypassword"
reconnect: true
port: 3306
Настройки БОГА:
God.watch do |w|
(...)
w.env = {
"HOME" => "",
"RAILS_ENV" => "staging",
"SECRET_KEY_BASE" => "here my secret key base",
"PATH" => "/opt/rubies/ruby-2.2.4/bin:#{ENV["PATH"]}"
}
(...)
w.start = "/opt/rubies/ruby-2.2.4/bin/bundle exec unicorn_rails -c /var/www/my_app/current/config/unicorn.rb -E staging -D"
Я понятия не имею, почему у меня возникла ошибка, а: be cap staging deploy
INFO [f85a78fc] Running bundle exec rake db:migrate as deploy@Server_IP
DEBUG [f85a78fc] Command: cd /var/www/my_app/releases/12345678 && ( export PATH="/opt/rubies/ruby-2.2.4/bin:$PATH" RAILS_ENV="staging" ; bundle exec rake db:migrate )
DEBUG [f85a78fc] rake aborted!
DEBUG [f85a78fc]
DEBUG [f85a78fc] KeyError: key not found: "staging"
Обновлять:
Таким образом, обновление имеет дополнительную трассировку
be cap staging deploy --trace
(...)
INFO [deploy:migrate] Run `rake db:migrate`
** Invoke deploy:migrating (first_time)
** Invoke deploy:set_rails_env
** Execute deploy:migrating
DEBUG [1eca7cab] Running if test ! -d /var/www/my_app/releases/1234567823487; then echo "Directory does not exist '/var/www/my_app/releases/1234567823487'" 1>&2; false; fi as deploy@Server_IP
DEBUG [1eca7cab] Command: if test ! -d /var/www/my_app/releases/1234567823487; then echo "Directory does not exist '/var/www/my_app/releases/1234567823487'" 1>&2; false; fi
DEBUG [1eca7cab] Finished in 0.145 seconds with exit status 0 (successful).
INFO [da77a5e6] Running bundle exec rake db:migrate as deploy@Server_IP
DEBUG [da77a5e6] Command: cd /var/www/my_app/releases/1234567823487 && ( export PATH="/opt/rubies/ruby-2.2.4/bin:$PATH" RAILS_ENV="staging" ; bundle exec rake db:migrate )
DEBUG [da77a5e6] rake aborted!
DEBUG [da77a5e6]
DEBUG [da77a5e6] KeyError: key not found: "staging"
(...)
--trace
, вы должны получить трассировку стека с ошибкой. Это должно направить вас дальше или, пожалуйста, добавьте трассировку стека к вопросу. - person BoraMa   schedule 28.03.2016--trace
в rake задачу, которую вызывает capistrano, а не в сам capistrano. Можете ли вы попробовать настройку в этом ответе, чтобы мы получали трассировку стека при вызовеrake db:migrate
? - person BoraMa   schedule 28.03.2016