【问题标题】:usually with Capistrano deployed Rails app has to be deployed by hand due to port restrictions由于端口限制,通常使用 Capistrano 部署的 Rails 应用程序必须手动部署
【发布时间】:2014-02-26 21:51:46
【问题描述】:

由于我的客户站点上的 IT 服务存在问题,我必须手动部署到我们的 ubuntu 主机系统。我们通常使用 Capistrano 在客户端系统上部署我们的 Rails 应用程序。由于安装了新的防火墙并且在接下来的 5 天内无法打开超过 80 端口,我需要手动部署一个 rails 应用程序..

老实说,我不知道该怎么做。

我可以通过 ssh 访问具有管理员权限的主机,并且我还可以 scp 我的代码。

我的计划是用我的主分支中的代码替换“站点/当前”文件夹中的代码。所以我用我的代码替换了共享文件夹旁边的所有内容,希望它能正常工作......

我将手动运行 rake 任务,重新启动 bluepill、sidekiq、重新索引 elasticsearch 等等。

是否有 Capistrano 的配置文件或我必须在 database.yml 旁边更改的其他任何内容?

非常感谢您提前提供的帮助。

亲切的问候 奥利弗

【问题讨论】:

  • Capistrano 只需要 ssh 访问服务器并且您有此访问权限 - 您是否使用不同的端口?
  • 我通过 VPN 连接到服务器,所以我可以通过 ssh 连接。问题是主机无法连接到 github 来拉取我的存储库,因为没有从主机打开端口 22 和 423。如果您知道通过 ssh 连接到我的机器并从那里到 github 路由/代理此请求的任何方法,这也会有所帮助。
  • 如果服务器无权访问github,可以使用capistrano将本地副本中的代码直接复制到本机。
  • 我按照 Jons 的提示,通过 Capistrano 的复制功能部署,看我自己的答案。

标签: ruby-on-rails ruby deployment capistrano


【解决方案1】:

我已按照 Jons 的提示,通过创建具有以下变量的新 capistrano 任务解决了我的问题:

task :acceptance_test_trial do
  #new copy variables
  set :scm, :none
  set :repository, "."
  set :deploy_via, :copy
  set :local_repository, "file://."

  server "xxxxxxxx", :app, :web, :db, :primary => true
  set :deploy_to, "/var/www/sites/xxxxxx.local"
  set :user, "deploy"
  set :rails_env, "acceptance_test"
end

这个 stackoverflow 对话帮助了我How to Configure Capistrano to Deploy from Local Git Repository?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 2019-04-05
    相关资源
    最近更新 更多