我想在我的本地机器上部署应用程序。例如,我的 Rails APP 位于:/home/thesis/dev/myapp
但我想cap deploy:setup
至 /home/thesis/deploy/
.我试过了,但 capistrano 试图连接到 localhost
,但根本不需要。我该如何解决?
这是我的 deploy.rb
role :app, "localhost"
role :web, "localhost"
role :db, "localhost", :primary => true
set(:deploy_to) { "/home/thesis/dev/myapp" }
set :bundle_without, [:development, :test]
set :use_sudo, false
set :repository, "."
set :scm, :none
set :deploy_via, :copy
set :copy_dir, "/home/thesis/deploy/tmp"
set :copy_remote_dir, "/home/thesis/deploy/tmp"
它下降:
connection failed for: localhost (Errno::ECONNREFUSED: Connection refused - connect(2))
最佳答案
localhost
问题是因为您在 role
中进行了设置定义。由于您在本地完成所有这些操作,并且 Capistrano 需要一个角色,您可以设置以下内容:
role :app, ""
我还认为您正在设置
copy_dir
和 copy_remote_dir
值不正确。我建议删除这些并让 Capistrano 使用它的默认值。这是一个适合您的完整配置:
role :app, ""
set :use_sudo, false
set :application, 'thesis' # you'll need to specify an app name
set :repository, "."
set :scm, :none
set :deploy_to, "/home/thesis/deploy/" # the destination dir
set :deploy_via, :copy
# override deploy:restart since this isn't a Rails app
namespace :deploy do
task :restart do
# no-op
end
end
关于ruby-on-rails - capistrano 从一个本地目录部署到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8309548/