Я пытаюсь развернуть обновление в приложении rails, используя mina
, однако я получаю сообщение об ошибке bash: bundle: command not found
, когда код пытается обновить crontab, используя mina-whenever
.
Running mina deploy --verbose
дает:
-----> Update crontab for 167.99.198.135_production
$ cd /home/my_rails_project/app/current
$ bundle exec whenever --update-crontab <my_server_ip>_production --set 'environment_variable=RAILS_ENV&environment=production&path=/home/my_rails_project/app/current'
bash: line 221: bundle: command not found
! ERROR: Deploy failed.
My deploy.rb
содержит:
set :environment_variable, 'RAILS_ENV' # had to add this to make the alternative (unapproved) mina-whenever gem work
desc "Deploys the current version to the server."
task :deploy do
# uncomment this line to make sure you pushed your local branch to the remote origin
# invoke :'git:ensure_pushed'
deploy do
# Put things that will set up an empty directory into a fully set-up
# instance of your project.
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 :'whenever:update' # should update the cron file
command "sudo service #{fetch(:user)} restart"
end
end
end
Schedule.rb
просто:
(хотя я безуспешно пытался сделать ряд изменений, предложенных в другихposts)
# add scheduled backup
every :Sunday, at: '1:30 am' do
rake "db:backup"
end
Используются драгоценные камни: (и оригинальный mina-whenever
драгоценный камень, и альтернатива, показанная ниже, приводят к одной и той же ошибке)
gem 'whenever', require: false # allows chron jobs to be easily defined
# gem 'mina-whenever', require: false
gem 'mina-whenever', git: 'https://github.com/Val/mina-whenever.git', branch: :add_environment_variable_support, require: false # added based on https://github.com/mina-deploy/mina-whenever/issues/13
Любые предложения будут высоко оценены