Hi Donovan, On Jan 4, 6:54 pm, Donovan Bray <[email protected]> wrote: > Gotchya, I understand now. > > Here's another way that could work > > Put everything back to working in parallel with no max_hosts > > Create a new task deploy:rolling > > task :rolling do > orig_servers = find_servers(:roles => :servers) > orig_servers.each do |s| > roles[:servers].reset > server s.host, :servers > deploy.default > end > end > > The intent is to use the roles but only put one through the deploy at a time, > if one breaks; it gets rolled back. Hey, that's a great idea. It will save me a lot of work! Thanks.
Bye -- Haim > > On Jan 3, 2012, at 9:47 PM, Haim Ashkenazi <[email protected]> wrote: > > > > > > > > > Hi Donovan, > > > On Jan 4, 6:21 am, Donovan Bray <[email protected]> wrote: > >> Post your code via gist so I can see what your trying. > > Here are 2 samples. working example (which cause duplication) and > > desired example. The output is included: > > >https://gist.github.com/1558678 > > > Thanks > > >> On Jan 3, 2012, at 12:01 PM, Haim Ashkenazi <[email protected]> > >> wrote: > > >>> Hi Donovan, > > >>> On Jan 3, 6:45 pm, Donovan Bray <[email protected]> wrote: > >>>> Put the start and stop task contents in methods and call those methods > >>>> from within the start stop tasks; then you can create the restart method > >>>> by calling the requisite start stop methods. > > >>>> Since the commands in the method will always be running in the task that > >>>> was directly invoked it should act the way you need. > >>> This is what I first thought, but it seems that It's not the case (At > >>> least not in my tests, I'll be happy to be wrong). If I limit the task > >>> with max_host => 1, it does run every command consecutively but in a > >>> wrong way: > > >>> - first they will consecutively stop the load balancer on all servers > >>> in the role > >>> - then they will consecutively stop the app on all servers in the role > >>> - (by not you get the point). > > >>> This is not a rolling deploy :( > > >>> The only way I found around it is by passing the :hosts key as option > >>> to the 'run' command. Am I wrong about it? > > >>>> You need to be careful with naming as methods will take precedence over > >>>> tasks when you use the namespace to call them. > >>> Thanks for the info > > >>> Bye > >>> -- > >>> Haim > > > Haim > > > -- -- * 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
