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]
