[LRUG] Compiling native extensions during deployment?

gareth rushgrove gareth.rushgrove at gmail.com
Sun Oct 23 02:06:37 PDT 2011


On 20 October 2011 14:41, Thom May <thom at may.lt> wrote:
> We run bundle install --deployment as part of our CI process, and then
> push out the results of CI as a tarball to our app servers.
> I'm being hounded from various quarters to write a blog post about
> this, so I might do that shortly.

Definitely interested in that blog post.

Building on that, have you thought about wrapping up the package as a
deb or rpm rather than just a tarball?

You get a few nice things from doing that:

* admin friendly tools for querying the state of machines like dpkg
* a pull based approach, which probably works better with a larger
number of machines
* Less reliance on all your machines being up when you push the tarball out
* pre and post install scripts as part of the package if you want them
* easier integration with tools like Chef and Puppet (it's just a package)
* easier management of dependencies between your app and supporting
services like say a Redis or MySQL upgrade

Shameless linking to my own blog I know but some more thoughts on there:

http://morethanseven.net/2011/01/16/Why-developers-should-care-about-system-packages.html

I'm building debs of Ruby apps using Jenkins at the moment, but I'm
not yet happy with all the bundler stuff I have. Would love to see
what you're doing and integrate it with what I have. I know lots of
people who would appreciate an off-the-github approach to this
particular hoop jumping exercise.


Gareth

> -t
>
> On Thu, Oct 20, 2011 at 14:38, Daniel Lucraft <dan.lucraft at gmail.com> wrote:
>> Hi all,
>> question about the current Ruby Way. We're moving to Bundler, and it seems
>> the thing to do is to run "bundle install --deployment" when deploying,
>> which will install the gems from vendor/cache into vendor/bundle.
>> Fine. Except what do we do with native extensions? We're not wild about
>> having the compiler toolchain installed on all our appservers, partly for
>> security reasons.
>> Is there something obvious we're missing about how to deploy native
>> extensions with bundler?
>> thanks
>> Dan
>>
>> __________________________
>> Daniel Lucraft
>> danlucraft.com/blog
>> twitter.com/danlucraft
>>
>> _______________________________________________
>> Chat mailing list
>> Chat at lists.lrug.org
>> http://lists.lrug.org/listinfo.cgi/chat-lrug.org
>>
>>
> _______________________________________________
> Chat mailing list
> Chat at lists.lrug.org
> http://lists.lrug.org/listinfo.cgi/chat-lrug.org
>



-- 
Gareth Rushgrove
Web Geek

morethanseven.net
garethrushgrove.com



More information about the Chat mailing list