ファイアーウォールとかで守られている社内gitサーバーに置かれたgemを使いたい
弊社はgithub enterpriseで運営しています。
外部からは自由にアクセスできないように、ファイアーウォールで社内アクセスのみに接続を限定しています。
が、今やっている案件ではお客様が用意したサーバーにアクセスしなければならず。
社内gitサーバーにアクセスできない状態です。
そういった場合、capistranoでローカルにソースを先にダウンロードしてtarで固めてサーバーに送信するという指定ができます。
config/deploy.rb
1 2 |
|
ですが、Gemfileにか書かれているGemファイルはbundle installで入れるようなので、社内gitサーバーに置かれたgemを参照しようとしたら落ちました。
うーん。gemも一式ローカルに落としてくれんか?と探していたらありました。
rudionrails/capistrano-strategy-copy-bundled ?
GitHub
Gemfileにgem ‘capistrano-strategy-copy-bundled'と書いてbundle install。
config/deploy.rb
1
|
|
でもcap deploy:updateしたら、
1 2 3 4 5 6 7 8 |
|
って怒られる。
うーん。gemsetがdefault使われてるなー。ってことで。
いい機会なので、rbenvにしてみました。
http://ksauzz.github.io/blog/2012/03/23/rbenv-ruby-build-rbenv-gemset/?
んで cap deploy:update
1
|
|
また怒られる。なんでだ。ぐぐっても有益な情報なし。
あ、ひょっとしてbundle exec必要?
ってことでbundle exec cap deploy:update
んで行くはず。
はずって言うのも。あまりにGem一式のダウンロードが重くて、やってらんねぇってなったので。
急遽ファイアーウォールに穴開けてもらうことになったからです。
中途半端ですまんです。