60
59

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

本番機などで外部と余計な通信をしたくない時にbundlerを使う場合

Posted at

privateなgithubリポジトリのgemを参照していたのだが、本番機に余計な秘密鍵を置きたくなかったので、
スマートにローカルから参照する方法を調べてみたところ、
bundlerの1.2.0からbundle package --allというものが使えるようになっていて、
gitのリポジトリやpathで参照しているgemもまとめてvendor/cacheにパッケージングしてくれるようになった。

つまり、こんな感じ。

# CIサーバー等
bundle package --all

## capistranoのcopy方式等で本番機側にアプリケーションをデプロイする。
## capistranoのレシピ上で、以下の形でbundlerを実行させるようにする。
bundle install --deployment

これで、vendor/cacheに入ってるgemを参照して、そこからインストールを行うため、
外部と全く通信する必要が無くなる。

bundlerの基本コマンドをちゃんと追っかけていれば、自明のことだったが、
普段あんまり考えずに使っていたので、調べなきゃ気付かなかった。

60
59
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
59

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?