我的.xib
文件看起来像这样
deploy.rb
但是当我尝试 SSHKit.config.command_map[:rake] = "bundle exec rake"
lock '3.2.1'
set :application, 'foobar'
set :scm, :git
set :repo_url, 'git@bitbucket.org:xxxx/xxxx.git'
set :deploy_via, "copy"
set :ssh_options, { forward_agent: true }
set :assets_roles, [:web]
set :whenever_roles, [:cron]
set :format, :pretty
set :pty, true
set :linked_files, fetch(:linked_files, []).push('config/database.yml')
set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/assets', 'public/system', 'public/uploads')
set :keep_releases, 5
set :rvm_type, :user
set :rvm_ruby_version, '2.2.3@xxxx'
set :nvm_type, :user
set :nvm_node, 'v0.12.4'
set :nvm_map_bins, %w{node npm}
set :nvm_roles, [:web]
set :bundle_path, nil
set :bundle_binstubs, nil
set :bundle_flags, '--system'
namespace :deploy do
after :restart, :clear_cache do
on roles(:app) do
within current_path do
with rails_env: fetch(:rails_env) do
execute :rake, 'db:schema:load'
end
end
end
end
end
时,我遇到了错误
cap production deploy
我不明白它出了什么问题,我花了很多时间来调试错误,但还没有取得任何成功。
答案 0 :(得分:1)
这种特殊情况的原因是,current
符号链接已经死了。意味着它以某种方式删除了指向哪个目录。
为什么Capistrnao命令导致错误Directory does not exists
。
答案 1 :(得分:0)
默认情况下,Capistrano会将您的应用程序部署到/var/www/[application_name]
,就像您在:application
中设置的那样。部署时,它会查看/var/www/omega
是否存在。它没有,因此它失败了。
您可以覆盖部署的位置:
set :deploy_to, '/my/deploy/dir'