如何使用Capistrano为不同环境部署相关分支的gem?

时间:2016-09-19 09:53:15

标签: ruby-on-rails deployment capistrano capistrano3

我正在使用Capistrano 3来部署RoR应用程序。我已经有不同环境的部署脚本:舞台,制作等。 但我需要有可能在这些具有不同gem分支的环境中进行部署。例如,如果我将部署到生产,我想使用gem的master分支;如果我将部署到舞台我想使用gem的开发分支等。 我已经为每个环境提供了自定义分支定义的解决方案,例如生产:

gem 'custom-gem', git: 'path-to-git', branch: 'master'

但是我需要以Capistrano方式提供更灵活的解决方案,而不是每个分支的自定义定义。有可能吗?

1 个答案:

答案 0 :(得分:2)

将您的gem移动到Gemfile中的组

group :staging do 
gem 'custom-gem', git: 'path-to-git', branch: 'stag'
end

group :production do 
gem 'custom-gem', git: 'path-to-git', branch: 'master'
end