我的目标是设置我的环境,以便能够在我的本地计算机上运行$ 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。
有不同的方法来实现相同的目标,我仍然感到困惑,因为我没有找到适合我需要的后接收钩子示例(并且没有掌握逻辑)。
我一直在使用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”。
当我运行它时,告诉我:致命:没有远程配置列出引用。 你能给我一些指导吗?感谢。
答案 0 :(得分:1)
是的,标准方式是Capistrano或Mina,并在托管目录中配置rails环境。如果您真的想要以Heroku的方式去做,那么您可以使用Vagrant在这里配置您自己的heroku环境:https://github.com/openruko/vagrant-openruko