设置VPS(Bluehost)以部署和更新RoR应用程序(Heroku样式)

时间:2014-03-02 08:12:12

标签: ruby-on-rails git bluehost

我的目标是设置我的环境,以便能够在我的本地计算机上运行$ 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 onethis other one,我甚至找到this gem

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

我一直在使用hooks的git指南特定部分,它告诉你可以做什么,但不知道怎么做,除了菜鸟之外,这对每个人都很好。

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

感谢。

此外:

嗨,我现在正在使用Capistano,但还没有达到目标。

我的应用程序位于linux本地计算机上的/ var / www / my_app。

git repository remote --bare和--share位于user @ myserver:/ server / user / git / repository / my_app。

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

在deploy.rb我有

set:application,“my_app”。

set:respository,“user @ myserver:/ server / git / repository / my_app。

set:user,“my_user_name”。

set:domain,“mysite.com”。

set:scm,:git。

set_scm_command,“/ server / user / bin / git”。

set:scm_passphrase,“my_phrase”。

set:deploy_to,“/ server / user / rails_apps / my_app”。

set:deploy_via,:remote_cache。

set:tmp_dir,“/ server / user / tmp”。

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

1 个答案:

答案 0 :(得分:1)

是的,标准方式是Capistrano或Mina,并在托管目录中配置rails环境。如果您真的想要以Heroku的方式去做,那么您可以使用Vagrant在这里配置您自己的heroku环境:https://github.com/openruko/vagrant-openruko