[LRUG] Rake binstub

Sam Phippen samphippen at googlemail.com
Thu Oct 9 02:11:32 PDT 2014


I heard http://12factor.net/dependencies 12 factor apps were a pretty good idea.

On 8 Oct 2014, at 19:12, Gerhard Lazu <gerhard at lazu.co.uk> wrote:

> ... and by "bundle exec" I mean bundler/binstubs/rvm/rbenv/chruby, the whole lot.
> 
> On Wednesday, 8 October 2014, Gerhard Lazu <gerhard at lazu.co.uk> wrote:
> bundle exec usage should stop at your CI/CD.
> 
> Production should always have a single version of the correct dependency (whether it's the Ruby binary, gem or C extension). 
> 
> Heroku Ruby app slugs and CloudFoundry Ruby app droplets are good examples of this principle in practice.
> 
> Gerhard
> 
> On Wednesday, 8 October 2014, Andrew Stewart <boss at airbladesoftware.com> wrote:
> Hello!
> 
> For a long time I have had on my server a cronjob which runs a rake task:
> 
>     42 * * * * RAILS_ENV=production cd /path/to/my/app && bundle exec rake blah
> 
> Recently I decided to get with the program and use a binstub instead:
> 
>     42 * * * * RAILS_ENV=production /path/to/my/app/bin/rake blah
> 
> But it fails with: "rake aborted! No Rakefile found".  Naturally there is a Rakefile at /path/to/my/app.
> 
> My rake binstub is the one that comes with Rails 4:
> 
>    https://github.com/rails/rails/commit/009873aec89a4b843b41accf616b42b7a9917ba8#diff-15
> 
> – not the one that Bundler would generate:
> 
>     #!/usr/bin/env ruby
>     #
>     # This file was generated by Bundler.
>     #
>     # The application 'rake' is installed as part of a gem, and
>     # this file is here to facilitate running it.
>     #
> 
>     require 'pathname'
>     ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
>       Pathname.new(__FILE__).realpath)
> 
>     require 'rubygems'
>     require 'bundler/setup'
> 
>     load Gem.bin_path('rake', 'rake')
> 
> After doing some research on this I learned it's controversial, a surprise for Rails ;)
> 
> Now that the dust has settled, what's the generally recommended approach?  Keep the Rails-generated binstub for rake, and cronjobs that cd into the app directory, or go for a bundler-generated binstub (which presumably works from anywhere)?
> 
> Thanks in advance,
> 
> Andy Stewart
> _______________________________________________
> Chat mailing list
> Chat at lists.lrug.org
> Archives: http://lists.lrug.org/pipermail/chat-lrug.org
> Manage your subscription: http://lists.lrug.org/options.cgi/chat-lrug.org
> List info: http://lists.lrug.org/listinfo.cgi/chat-lrug.org
> 
> 
> -- 
> 
> Twitter Github Blog
> 
> 
> 
> -- 
> 
> Twitter Github Blog
> 
> _______________________________________________
> Chat mailing list
> Chat at lists.lrug.org
> Archives: http://lists.lrug.org/pipermail/chat-lrug.org
> Manage your subscription: http://lists.lrug.org/options.cgi/chat-lrug.org
> List info: http://lists.lrug.org/listinfo.cgi/chat-lrug.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20141009/669ee40a/attachment-0003.html>


More information about the Chat mailing list