If you have already set domain, do this:
role :web,domain
role :app, domain
role :db, domain
else, use yours, for the rest, do this:
role :db , domain, :primary => truerole(:db , domain, :primary => true)
role(:db , domain, {:primary => true})
(that is, right, righter and rightest syntax..... Ruby is smart enough to
figure out what you need without writing it long hand every time)
2009/6/23 Cyrille <[email protected]>
>
> Since I spent 30 mins figuring out how this translates in code, maybe
> it will help someone else:
>
> role(:web) {"#{domain}"}
> role(:app) {"#{domain}"}
> role(:db) {"#{domain}"}
>
> However, I didn't manage to set :primary to true for the :db role:
>
> role(:db) {"#{domain}"}, :primary => true
> role(:db) {"#{domain}", :primary => true}
>
> all fail.
>
> Anyone knows the correct syntax? (it is probably obvious to Capistrano
> gurus out there :-)
>
> Cheers
>
> Cyrille
>
> On May 29, 11:23 am, Cynthia Kiser <[email protected]> wrote:
> > > It seems that the problem is located here. You are trying to access the
> > > domain variable before it is set (the variable will be set only when
> the
> > > staging task is called, after all the necessary files are parsed.
> >
> > > It is possible to use a block for the role directive, which will be
> > > evaluated only when required (that is, during the deploy task, after
> the
> > > staging task is called), but you can't use blocks for the server
> directive.
> >
> > Thanks Jean-Philippe. Changing everything to roles and then using blocks
> to
> > assign "domain" to them allows me to deploy! Yea!
> > --
> > Cynthia Kiser
> > [email protected]
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
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.co.uk/group/capistrano?hl=en
-~----------~----~----~----~------~----~------~--~---