Hi Jon:
cap has two parameters that will help you. Just replace the calls to
ENV with normal cap variables.
-s, --set NAME=VALUE
Specify a variable and it's value to set. This will be set after
loading all recipe files.
-S, --set-before NAME=VALUE
Specify a variable and it's value to set.
Here's an example...
task :hello do
puts "hello #{target}"
end
Then run:
$ cap hello -q -s target=me
hello me
In your case, you should be able to call:
cap deploy -s option=foo
Regards,
Bradley
On 13 Feb, 20:16, Jon Garvin <[EMAIL PROTECTED]> wrote:
> We've got a rails project that gets deployed to several different
> servers with different settings. To facilitate this we've been running
> 'rake deploy' with a series of arguments passed in the form of
> OPTION=value and using ENV['OPTION'] within custom deploy task to setup
> options and do special things as necessary. Since, as I understand,
> we're supposed to start using 'cap deploy' instead of 'rake deploy',
> I've made changes to the deploy script to look for the options in ARGV
> instead of ENV (since that's where they seem to have moved). Our
> deployment task runs again now, with all options being successfully
> evaluated and dealt with, but at the very end, after everything is done,
> I get the following....
>
> ** [out :: 66.199.236.90] Starting 1 Mongrel servers...
> command finished
> /usr/lib/ruby/gems/1.8/gems/capistrano-1.4.0/lib/capistrano/actor.rb:562:in
> `method_missing': undefined method `OPTION=value' for
> #<Capistrano::Actor:0xb7de2328> (NoMethodError)
> from
> /usr/lib/ruby/gems/1.8/gems/capistrano-1.4.0/lib/capistrano/cli.rb:268:in
> `send'
> from
> /usr/lib/ruby/gems/1.8/gems/capistrano-1.4.0/lib/capistrano/cli.rb:268:in
> `execute_recipes!'
> from
> /usr/lib/ruby/gems/1.8/gems/capistrano-1.4.0/lib/capistrano/cli.rb:268:in
> `each'
> from
> /usr/lib/ruby/gems/1.8/gems/capistrano-1.4.0/lib/capistrano/cli.rb:268:in
> `execute_recipes!'
> from
> /usr/lib/ruby/gems/1.8/gems/capistrano-1.4.0/lib/capistrano/cli.rb:239:in
> `execute!'
> from
> /usr/lib/ruby/gems/1.8/gems/capistrano-1.4.0/lib/capistrano/cli.rb:12:in
> `execute!'
> from /usr/lib/ruby/gems/1.8/gems/capistrano-1.4.0/bin/cap:11
> from /usr/bin/cap:16:in `load'
> from /usr/bin/cap:16
>
> Everything is working fine... but this isn't a very clean & tidy
> finish. Any suggestions on how to prevent this from happening?
>
> Thanks.
--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---