Perhaps this problem is with the "execute" method?
I created a simple task to figure out which rake was being used, but it
appears symbols are not resolved for execute, they are just converted into
strings.
For example:
task :which_rake do
on roles(:all) do
set :which, "where"
execute :which, "rake"
end
end
This should execute "where rake" however, it actually executes "which rake"
because it doesn't resolve the :which symbol as it used to in capistrano 2.
It seems like this is by design for capistrano 3, and indeed, switching the
code to:
execute fetch(:which), "rake"
creates the expected output.
I've seen this pattern (not using fetch) used a lot with execute, even in
the deploy template. Should execute be resolving symbols? or should
everything be updated to use fetch()? What is the reason for passing a
symbol as opposed to a string if symbols are not resolved?
Any thoughts on this?
-David
On Tuesday, November 12, 2013 12:29:18 PM UTC-6, [email protected]
wrote:
>
> I'm unable to run the correct rake version because calls to rake don't
> take into account I'm using bundler.
>
> I've included:
> require 'capistrano/bundler'
> along with:
> require 'capistrano/rails/assets'
> require 'capistrano/rails/migrations'
>
> Deploying works fine until it comes time to run the assets:precompile
> task. The command that is executed is:
>
> RAILS_ENV=staging /usr/bin/env rake assets:precompile
>
> Instead of "rake" it should be "bundle exec rake" or "bin/rake" because
> I'm using bundler.
>
> I've tried setting the value of :rake, by adding:
> set :rake, 'bundle exec rake'
> to my deploy.rb file. However, it doesn't make any difference.
>
> I'm not sure if this is an issue with Capistrano, or more likely with the
> Capistrano bundler support?
>
> Any thoughts on how to fix this?
>
> Thanks,
>
> David
>
>
--
--
* You received this message because you are subscribed to the Google Groups
"Capistrano" group.
* To post to this group, send email to [email protected]
* To unsubscribe from this group, send email to
[email protected] For more options, visit this group at
http://groups.google.com/group/capistrano?hl=en
---
You received this message because you are subscribed to the Google Groups
"Capistrano" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.