LoginSignup
4
4

More than 5 years have passed since last update.

PrivateGemを含むRailsアプリをDockerでBuildする為に

Posted at

What

自分用メモ

課題

private repository にあるGemを含んでいるRailsアプリを普通に Dockerfile で普通に bundle install すると、PrivateRepositryへのアクセス件がなくて落ちる

どうしようか

認証情報をContainer上に持っていくのも有りといえばありだが、リポジトリに含める必要があったりして面倒だし怪しい。
よって、手間はあるが、以下のようにした。

  1. .gitignorevendor/cache をついか
  2. bundle package --alldocker-compose build 前に実施しておく
  3. ADD vendor/cache __user_app_vendor/cache をDockerfileに追加する

bundle package --all で一通り全部 hoge.gem としてキャッシュされる。
これを add してあげて、基本的にはここから参照してもらう。
Bundler側で勝手にNativeExtensionのGemは再ビルドしてくれる。

案内

えっ、PrivateGemがNativeExtension? ご、ごめん :bow:

なんでこんなことしてたの?

英語にはこういった情報結構あったけど、日本語になかったから。
あと http://haito.github.io/slide_spawn_dockerable_rails/ こういうLTを社内でするため。

4
4
1

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
4
4