首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >capistrano从一个本地目录部署到另一个本地目录

capistrano从一个本地目录部署到另一个本地目录
EN

Stack Overflow用户
提问于 2011-11-29 18:52:43
回答 3查看 13.1K关注 0票数 16

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

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-30 01:36:35

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
票数 9
EN

Stack Overflow用户

发布于 2016-06-08 23:38:20

也许您缺少一个SSH服务器来连接您的机器,因为您只安装了客户端。

测试ssh 127.0.0.1,如果仍然收到连接拒绝错误,请使用:

sudo apt-get install openssh-server

安装ssh服务器。

票数 2
EN

Stack Overflow用户

发布于 2013-01-16 22:21:59

我也遇到了这个问题,因为我将SSH端口设置为13000,而不是默认端口22。并添加了/etc/hosts.deny

sshd:ALL

添加了/etc/hosts.allow

sshd:#some allowed IPs

我正在处理的是:

1)添加到deploy.rb

ssh_options[:port] = 13600

2)将本地主机添加到hosts.allow

sshed:127.0.0.1 localhost # others allowed IPs
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8309548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档