我正在尝试了解部署rails引擎的工作流程。我看了this answer。但我不完全了解Gemfile,bundler,Capistrano和rails之间的情况。
我有一种情况,我正在开发一个应用程序本地推送到git存储库并使用Capistrano进行部署。在我的应用程序Gemfile
中#gem 'my_engine', git: "git@myrepo.com/myengine.git"
gem 'my_engine', path: '/local/path/to/MyEngine'
当我开发时,我经常注释掉git存储库并使用我的本地(我知道有些人可能会对此有疑问,但是另一次question}我想知道的是:
答案 0 :(得分:0)
引擎和主机应用程序位于相同的存储库中,然后指定
gem 'my_engine', path: '/local/path/to/MyEngine'
会奏效。
如果您有不同的引擎和应用程序存储库,则需要将gem指定为
gem 'my_engine', git: 'git@github.com:my_engine.git',
branch: 'master', revision: 'cb1a8d2495168d411676f58bdfc9015fe728948c'
branch
和revision
是可选的,但如果您想将其指向特定的提交或分支,则建议使用它。
确保deploy
(用于部署应用程序的服务器上的用户)用户可以访问引擎存储库。