I think what most people do is to install the new version with some kind of 
identifier, like SomeApp.woa-build36 and they symlink SomeApp.woa to that 
particular version. But you still need to stop and start the app, or like Chuck 
said, you will get troubles. On OS X, HFS+ is pretty good at tracking back old 
resources so you have less troubles if you deploy a new version, but on 
Linux/ext3, beware.

The best thing would be to add a "Pull new version from Hudson" action in 
Monitor or wotaskd, and that action would fetch the new version without 
installing it, put the instances in "refuse new sessions" mode, and when no 
sessions are active, install the new version and restart the app. 

You can also try the "bounce" action, which let you start instances on the 
newer code, but let the other instances on the older version. Be aware that it 
might cause problems if you deploy a new version that do database schema 
changes. For example, if you change the constraint on a column so that it 
cannot accept NULL anymore and the older version of your app don't have that 
change in its model, current sessions in the older version will get an JDBC 
exception when they try to put NULL in the column where the constraint was 
changed.

> Ouch. Do rolling updates still have to be managed directly through monitor 
> then or is there a Better Way™? (^_^)
> 
> Ramsey
> 
> On Feb 16, 2011, at 5:49 PM, Chuck Hill wrote:
> 
>> You can run into problems replacing the files.  If there was a code change 
>> and a template change that relies on that code AND no user has used that 
>> page/component before the update, they will get the new version (as WO loads 
>> it into the cache) but it will still run against the original code.
>> 
>> Chuck
>> 
>> 
>> On Feb 16, 2011, at 4:33 PM, Ramsey Gurley wrote:
>> 
>>> Hi all,
>>> 
>>> I am working on a deployment script with hudson and wonder monitor. What is 
>>> the recommended way to do an application update. Is this as simple as 
>>> replacing the old app and wsr directories with the new ones and then bounce 
>>> graceful or bounce shutdown?
>>> 
>>> Ramsey
>> 
>> 
>> 
>> -- 
>> Chuck Hill             Senior Consultant / VP Development
>> 
>> Practical WebObjects - for developers who want to increase their overall 
>> knowledge of WebObjects or who are trying to solve specific problems.    
>> http://www.global-village.net/products/practical_webobjects
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-deploy mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-deploy/probert%40macti.ca
> 
> This email sent to [email protected]

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-deploy mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-deploy/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to