【问题标题】:Setup VPS (Bluehost) to deploy and update RoR apps (Heroku Style)设置 VPS (Bluehost) 以部署和更新 RoR 应用程序(Heroku 风格)
【发布时间】:2014-03-02 08:12:12
【问题描述】:

我的目标是设置我的环境,以便能够在我的本地计算机上运行 $ git push myapp master 并在 Bluehost 的 VPS 上自动部署/更新我的 RoR 应用程序。

在我的计算机 (Linux-Ubuntu) 上,RoR 应用位于:/var/www/myapp

我按照这个 GREAT 解释 tutorial 并在我的 VPS 服务器上安装了功能丰富的 git,位于 ~/git/repository/myapp

理想情况下,我部署的 RoR 应用程序将位于 Bluehost 上的 ~/rails_apps/myapp

Bluehost 自动使用 Pushion Passenger,~/public_html/myapp 文件夹和 RoR 应用程序的公共端之间有一个符号链接,位于 ~/rails_apps/myapp/public。

我被 post-receive git hook 卡住了,我没有使用 Capistrano(我应该吗?)

我一直在阅读许多具有相似目标的文档,例如this one,或this other one,我什至找到了this gem

有不同的方法可以实现相同的目标,但我仍然感到困惑,因为我没有找到适合我需要的 post-receive 钩子示例(并且没有掌握逻辑)。

我一直在 hooks 的 git guides 特定部分,它告诉你可以做什么,但不告诉你如何做,这对除了菜鸟之外的每个人都很有用。

对场景和目标有任何帮助吗?如果我使用 Capistrano 和/或 git-rails gem 会更容易吗?其他建议?

谢谢。

补充:

您好,我现在正在使用 Capistano,但尚未达到目标。

我在 Linux 本地机器上的 /var/www/my_app 有我的应用程序。

git 存储库远程 --bare 和 --share 位于 user@myserver:/server/user/git/repository/my_app。

我想部署到 /server/user/rails_apps/my_app。

在 deploy.rb 我有

设置:应用程序,“我的应用程序”。

set :respository, "user@myserver:/server/git/repository/my_app.

设置:用户,“我的用户名”。

设置:域,“mysite.com”。

设置:scm,:git。

set_scm_command, "/server/user/bin/git"。

设置:scm_passphrase,“my_phrase”。

设置:deploy_to,“/server/user/rails_apps/my_app”。

设置:deploy_via,:remote_cache。

设置:tmp_dir,“/server/user/tmp”。

当我运行它时,告诉我:致命:没有远程配置来列出来自的引用。 你能给我一些指导吗?谢谢。

【问题讨论】:

  • 是的,使用 Capistrano 会更容易。也看看米娜

标签: ruby-on-rails git bluehost


【解决方案1】:

是的,标准方法是 Capistrano 或 Mina,并在托管目录中配置 rails 环境。如果你一心想用 heroku 的方式来做,你可以在这里使用 Vagrant 来配置你自己的 heroku 环境:https://github.com/openruko/vagrant-openruko

【讨论】:

  • 我会检查 Capistrano、Mina 和 Vagrant。我只想推送我的应用程序并能够在部署基本版本后对其进行改进。我提到 Heroku 是因为我喜欢用 git 推送,我很喜欢。不确定 Vagrant 还会带来哪些其他优势。我会调查的。非常感谢。
  • vagrant 的事情是提供一个 heroku 克隆环境,Vagrant recipies 非常适合配置 box 而不是真正用于部署代码。
  • 嗨,再次。感谢您的精确。我一直在研究 Capistrano,我发现它本身就是一个部署 gem,可以与 Git 混合使用。我真正的目的是用 Git 推送我的网站。首次部署将很快通过多语言版本得到改进。 Capistrano 是否提高了安全性或页面响应速度?
  • 不,一点也不,它只是将您的代码从您的 git 存储库或本地副本获取到您的网络服务器。
  • 我正在使用 Capistrano,但尚未使其工作。即使这样,我也能明白为什么人们经常使用它。谢谢。
猜你喜欢
  • 2018-08-18
  • 1970-01-01
  • 2012-03-24
  • 2017-05-26
  • 2014-11-25
  • 2012-09-25
  • 2011-04-23
  • 2012-06-17
相关资源
最近更新 更多