[LRUG] Rake binstub

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


... 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 <http://twitter.com/#!/gerhardlazu> Github
> <https://github.com/gerhard> Blog <http://gerhard.lazu.co.uk/>
>
>

-- 

------------------------------
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/f8876b4e/attachment.html>


More information about the Chat mailing list