バンドラーを使用して、社内の git リポジトリから Rails アプリに gem をデプロイしています。グループごとに異なるブランチ名を付けたいのですが、これは次のとおりです。
group :production, :release_candidate, :staging, :demo do
gem "my_inhouse_gem", '0.0.1', git: 'git@github.com:my_gem.git', branch: 'master'
end
group :development, :develop do
gem "my_inhouse_gem", '0.0.1', git: 'git@github.com:my_gem.git', branch: 'develop'
end
で失敗します
You cannot specify the same gem twice coming from different sources.
You specified that mygem (= 0.0.1) should come from
git@github.com:my_gem.git (at develop) and
git@github.com:my_gem.git (at master)
次の場合:
group :production, :release_candidate, :staging, :demo do
my_gem = 'master'
end
group :development, :develop do
my_gem = "develop"
end
gem "my_inhouse_gem", '0.0.1', git: 'git@github.com:my_gem.git', branch: my_gem
最後に印刷されたグループを使用するだけです。
それを読んで、この記事を見つけた後: http://yehudakatz.com/2010/05/09/the-how-and-why-of-bundler-groups/、これはバンドラーがまだコンテンツを実行するためであることに気付きましたすべてのグループの、一致するものをインストールするだけです。
Gemfile の環境設定に基づいて動的ブランチ名を付けるにはどうすればよいですか?