ruby-on-rails - capistrano 从一个本地目录部署到另一个

标签 ruby-on-rails ruby-on-rails-3 capistrano

我想在我的本地机器上部署应用程序。例如,我的 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_dircopy_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/

相关文章:

ruby-on-rails - RoR 使用数字作为数据库列名会产生错误

ruby-on-rails - Rails 上传到 AWS 创建 .zip.cpgz 文件循环

capistrano - 如何根据环境或服务器属性运行 Capistrano 任务?

ruby-on-rails - 需要访问 delayed_job 命名队列的 Capistrano 配置变量中的当前主机名

ruby-on-rails - Rails 路由到另一个目录

ruby-on-rails - E : Unable to locate package heroku-toolbelt

ruby - 手动生成 Rails 缓存键

javascript - Rails 3 检查是否启用了 Javascript(服务器端)

ruby-on-rails-3 - 从 Rails 3 Controller 调用辅助方法

ruby-on-rails - 如何为 aws ec2 ubuntu 服务器提供 Capistrano rails 3.1 应用程序部署的密码?