You are here: Home / Documentation / How To's / Eggs and SVN - Testing Server

Eggs and SVN - Testing Server

by hietpasd published Apr 17, 2013 10:24 AM, last modified Aug 16, 2016 10:50 AM
Setup your test server to be able to switch between egg builds and svn builds.

Over the past 2 years, I've needed to demo ongoing projects to others.  Well all my development is done on my local machine and the only way others could use it was for me to create python eggs.  The only good way to do this was to push the updated eggs to our Test Server.  Creating and deploying eggs for demo is fine but I'd have to delete the alpha/beta eggs because I didn't want others to even try using them.  This become frustrating and time consuming.

One of my goals was to setup a two tier approach for the test server.  I wanted egg deployment and rapid source deployment.  Here is how I accomplished this and how you can set this up.


We have a very extending configuration.

buildout.cfg <- campus.cfg <- library.cfg

This is not showing all the version.cfg extensions.

I decided to separate the library.cfg even more.

buildout.cfg <- campus.cfg <- library-base.cfg  <-   library-svn.cfg

<- library-eggs.cfg


I don't want to display our configuration files for obvious reasons.  Here is an overview of what is in each of our files.  If you would like more information about the cfg files, please contact me.


  • Extends buildout.cfg
  • Zeo Server
  • Zeo Clients
  • Campus dependencies (eggs, etc...)


  • Extends campus.cfg
  • Library Specific Find Links
  • Eggs
  • ZMCL
  • No version declarations


  • Extends library-base.cfg
  • Only contains a [versions] declaration.  Very clean, will not confuse a novice user in updating eggs.


  • Extends library-base.cfg
  • Sets up mr.developer (mr.developer pypi)
  • SVN sources declarations



I can simply run buildout -c library-eggs.cfg and it will pull eggs.  I can also run buildout -c library-svn.cfg and the buildout process will go to the svn and pull all the new source and use it.  Now I have the ability to demo new products without having to deploy as many alpha/beta eggs.