Open martinseener opened 10 years ago
Question, can you do 'bundle install' and target some local ./vendor/ directory then use fpm -s dir ...
to package up the app + ruby dependencies in the same directory?
Yeah, i did a "bundle install --deployment" in an applications folder, creating a vendor folder with all the gems from the Gemfile in it for the application to work. This is just the small automation i want to see in fpm when packaging such an application folder - do this manual step for me, so when installing the package with puppet i can conveniently use pleaserun to run it with "rackup" for example without the need to manually get all the gems, because fpm took care and packed all gems in that folder for me.
dont think thats a too complicated thing....
I've stumbled upon this issue while researching a way to feed fpm with Gemfile for dependencies. Not sure if this is doable or even in your scope of focus. Just wanted to check.
Doing a "bundle" package from app directory + gems installed to vendor/ has one disadvantage, when there are a lot of gems or they are heavy taking notable disk space. Transferring them around (build space/CI -> S3 repository -> box(-es)) may take time etc. Having deb per gem approach is also helpful when one tiny gem changes it can be supplied to repository outside of those CI pipeline.
Any way nice feature to have, not critical thou, as could be somehow scripted I guess.
Thanks for the great work!
I have several co-workers who constantly creating rails or sinatra applications which itself have dependencies coded in so called Gemfiles. It would be really nice for fpm to build the folders where the application resides in by taking care of an eventually existing Gemfile while adding all dependent gems for the application also as a dependency for the package, so its quite as easy to install the package later and already have all dependencies added in the applications vendor folder, ready to start the application by pointing passenger to it (or using WebRICK).
It would eliminate the need for the Ops to do a "bundle install" before but instead just install the package and done.