Personal tools
You are here: Home Reinout van Rees' weblog Handy for development: production + preview zope instance

Handy for development: production + preview zope instance

by Reinout van Rees — last modified Oct 08, 2007 05:58 PM
Filed Under:

At Zest software, we've normally got two separate zope instances per customer: preview and production.

We have two zope instances, ~/production and ~/preview. There's an update-preview.sh and update-production.sh script that:

  • creates a fresh Products/ directory (fresh plone products from *.tgz files, fresh custom product svn checkout)
  • restarts the zope server
  • calls a script inside zope which calls the quickinstaller to reinstall our custom products.

The difference between update-preview and update-production is that update-preview copies over the production Data.fs. This way you can always test your current development with the real data. This realistic test is just an ssh to the server and a call to the update-preview.sh script away.

We're using this approach at our new customer Philips (an internal, mostly PloneHelpCenter based, website). We're only two weeks into the project, but we've already got this production/preview approach in place. The customer is already adding content and site structure into the real production site. At the same time, we can test our additions with the real data in the preview system. If we need to migrate some content or so, this gives us an ideal way of ensuring that it works with the current data.

Some additional notes:

  • Copying over the Data.fs is done with the repozo.py script in the zope/bin directory.
  • The update-production.sh script of course makes a backup before potentially messing up the production website :-)
  • Production is set up as a zeoserver/zeoclient combo, but that is not relevant to this issue.
Document Actions

Is that code available

Posted by Matt at May 01, 2006 01:27 PM

Are the update-* shell scripts availale somewhere?

Scripts available

Posted by Reinout van Rees at May 01, 2006 01:45 PM
Maurits cleaned up my original scripts and placed them (customised for our XM product) in https://svn.zestsoftware.nl/svn/zest/eXtremeManagement/integration/trunk/ . The README is pretty clear, there's lots in there you don't need to do for not-too-elaborate projects.

Basically: edit the config parameters at the top of serverinfo.sh and add the provided .py script to the zope root of a sample data.fs. Feedback welcome :-)

Scripts, updated

Posted by Reinout van Rees at Jul 18, 2006 08:25 PM
http://vanrees.org/weblog/archive/2006/07/18/instancemanager-now-also-handy-for-server-setups has a much better approach :-)