I were probably doing something stupid...
Its working now, but... it loops through the list of servers and the
executes the task for each server 16 times in total.

role :dev_xml_gerrard, "longtct03g", "longtct03h", "longtct03i",
"longtct03j"

task :foo, roles => :dev_xml_gerrard do
    find_servers(:roles => :dev_xml_gerrard).each do |server|
      run "uname -a"
      run "sleep 4"
    end
end

I have taken multistage out of the equation and am only using this
code above.

Regards

On Jan 30, 3:14 pm, Jamis Buck <[email protected]> wrote:
> 1. Define your roles in each stage file. E.g.
>
>   # config/deploy/staging.rb
>   role :app, "stage-app-01", "stage-app-02"
>
>   # config/deploy/production.rb
>   role :app, "prod-app-01", "prod-app-02"
>
> 2. Put the snippet in a task.
>
>   task :foo do
>     find_servers(:roles => :app).each do |server|
>       # ...
>      end
>   end
>
> 3. There is no step three!
>
> - Jamis
>
> On 1/30/09 7:51 AM, Gerhardus Geldenhuis wrote:
>
> > True,
> > But I do need multistage to deploy to different stages eg production,
> > test, demo, load-test etc.
>
> > I have also defined stages for different application stacks in
> > production for example. eg prod-app1, prod-app2
>
> > We need to deploy our tomcat application to one server at a time in
> > production to prevent any outages. We handle about 350 web
> > transactions a second on a busy day in one of our environments which
> > makes it critical that deployment is one at a time. I have been trying
> > to modify this line to be a task
> > find_servers(:roles => :foo).each do |server|
> > but no success so far. It is probably due to my lack of ruby language
> > knowledge.
>
> > In the example given a specific role is given, however all my tasks
> > defined in my cap file have no specific role attached and will thus
> > execute for all servers defined in the config file of the stage.
>
> > Regards
>
> > On Jan 30, 2:23 pm, Lee Hambley <[email protected]> wrote:
> >> Ger,
>
> >>  You don't need multistage to deploy to an array of servers?
>
> >> - Lee
>
> >> 2009/1/30 Gerhardus Geldenhuis <[email protected]>:
>
> >>> Hi
> >>> I have finally found time to start implementing this but am a bit
> >>> stuck atm. I am not sure how to convert this code snippet into a
> >>> working task. I also need to adapt my task to work in a multistage
> >>> environment where I set my role definition in each stage's config
> >>> file.
> >>> Regards
> >>> On Jan 28, 3:31 pm, Jamis Buck <[email protected]> wrote:
> >>>> find_servers(:roles => :foo).each do |server|
> >>>>   run "disable server on load balancer", :host => server
> >>>>   run "install new software", :host => server
> >>>>   run "test server", :host => server
> >>>>   # etc.
> >>>> end
> >>>> - Jamis
> >>>> On 1/28/09 8:16 AM, Gerhardus Geldenhuis wrote:
> >>>>> Hi
> >>>>> I need to do something like the following:
> >>>>> for server in role do
> >>>>>   Disable server on load balancer
> >>>>>   Install new software
> >>>>>   Test Server
> >>>>>   Enable server in load balancer
> >>>>>   If successful then deploy next server else fail/rollback.
> >>>>> done
> >>>>> The individual steps is not a problem but I am unsure how to approach
> >>>>> the sequential install in a capistrano way.
> >>>>> I could not find anything on the wiki or list archives.
> >>>>> Regards
--~--~---------~--~----~------------~-------~--~----~
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