[LRUG] Rake binstub

Gerhard Lazu gerhard at lazu.co.uk
Wed Oct 8 11:03:35 PDT 2014


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
<javascript:_e(%7B%7D,'cvml','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 <http://twitter.com/#!/gerhardlazu> Github
<https://github.com/gerhard> Blog <http://gerhard.lazu.co.uk/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20141008/ecfb8db7/attachment-0003.html>


More information about the Chat mailing list