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
-~----------~----~----~----~------~----~------~--~---

Reply via email to