我正在部署使用mina部署的rails 4应用程序.我的部署脚本是
require 'mina/bundler' require 'mina/rails' require 'mina/git' require 'mina/rvm' # for rvm support. (http://rvm.io) set :domain,'someplace.com' set :deploy_to,'/home/deploy/projects/website' set :repository,'git@github.com:someone/repo.git' set :branch,'master' set :identity_file,"#{ENV['HOME']}/.ssh/id_rsa" set :user,'deploy' # Username in the server to SSH to. set :shared_paths,['config/database.yml','config/credentials.yml','log','tmp'] task :environment do invoke :'rvm:use[ruby-2.1.0@default]' end task :setup => :environment do queue! %[mkdir -p "#{deploy_to}/shared/log"] queue! %[chmod g+rx,u+rwx "#{deploy_to}/shared/log"] queue! %[mkdir -p "#{deploy_to}/shared/config"] queue! %[chmod g+rx,u+rwx "#{deploy_to}/shared/config"] queue! %[touch "#{deploy_to}/shared/config/database.yml"] queue %[echo "-----> Be sure to edit 'shared/config/database.yml'."] queue! %[touch "#{deploy_to}/shared/config/credentials.yml"] queue %[echo "-----> Be sure to edit 'shared/config/credentials.yml'."] end desc "Deploys the current version to the server." task :deploy => :environment do deploy do invoke :'git:clone' invoke :'deploy:link_shared_paths' invoke :'bundle:install' invoke :'rails:assets_precompile' to :launch do queue "touch #{deploy_to}/tmp/restart.txt" end end end
当我部署为’mina deploy’时,我得到错误
... Symlinking shared paths $mkdir -p "./config" $mkdir -p "." $rm -rf "./config/database.yml" $ln -s "/home/deploy/projects/website/shared/config/database.yml" "./config/database.yml" $rm -rf "./config/credentials.yml" $ln -s "/home/deploy/projects/website/shared/config/credentials.yml" "./config/credentials.yml" $rm -rf "./log" $ln -s "/home/deploy/projects/website/shared/log" "./log" $rm -rf "./tmp" $ln -s "/home/deploy/projects/website/shared/tmp" "./tmp" -----> Installing gem dependencies using Bundler $mkdir -p "/home/deploy/projects/website/shared/bundle" $mkdir -p "./vendor" $ln -s "/home/deploy/projects/website/shared/bundle" "./vendor/bundle" $bundle install --without development:test --path "./vendor/bundle" --binstubs bin/ --deployment ... Your bundle is complete! Gems in the groups development and test were not installed. It was installed into ./vendor/bundle -----> Precompiling asset files $RAILS_ENV="production" bundle exec rake assets:precompile RAILS_GROUPS=assets rake aborted! File exists @ dir_s_mkdir - /home/deploy/projects/website/tmp/build-138935597031149/tmp /home/deploy/projects/website/tmp/build-138935597031149/vendor/bundle/ruby/2.1.0/gems/sprockets-2.10.1/lib/sprockets/cache/file_store.rb:25:in `[]=' /home/deploy/projects/website/tmp/build-138935597031149/vendor/bundle/ruby/2.1.0/gems/sprockets-2.10.1/lib/sprockets/caching.rb:34:in `cache_set'
解决方法
如果没有ssh进入服务器,请确保创建了shared / tmp目录
$mkdir /home/deploy/projects/website/shared/tmp
确保你也拥有正确的权限.drwxr-XR-X
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。