Mark Phillips wrote:
On Tue, 2008-09-02 at 12:40 +0000, Maurits van Rees wrote:
Mark Phillips, on 2008-09-01:
In the world of Plone 3, it seems I have to merge the buildout.cfg from
my development machine and the one on my production machine, taking care
to change only what needs to be changed - somewhat complicated by the
fact that the production server uses zeo and the development machine
uses a single instance of plone. Then, I copy over the src directory and
run bin/buildout.
You can use the same buildout directory (stored and tagged in svn) for
development and deployment. Like Raphael said, you can use one cfg
file for each situation. This is how we do it at Zest Software:
http://vanrees.org/weblog/archive/2007/12/27/buildout-development-production-strategy
The merging of buildout.cfg files seems to be a very error-prone manual
process.
You can make the two different cfg files look as much alike as you can
so they are easy to compare. See:
http://vanrees.org/weblog/archive/2008/07/08/versions-buildout
BTW, those two weblog entries are from my brother Reinout, not from
me. :-)
I read through the two blog entries, and I am just too new to
buildout.cfg to understand what you are doing. Is there a tutorial you
can point me to that will bring me up to the level you guys are at so I
can begin to appreciate what you have created?
I do have a tutorial for this but its not yet published called "$20
plone site in 20min"
The basics however are as follows:
1. How arrange your buildout files so that have different configurations
for development, testing and production.
2. How to get the buildout under source control
3. how to get the buildout uploaded to the server
4. how to get your eggs in src to the server
There are differing opinions on these issues.
What I do is
1. follow similar suggestions as above for breaking up teh buildout into
different files.
2. create a svn repos on the host if I don't already have one handy. I
then put just 1st level of the buildout dir under source control
(basically just the .cfg files)
3. I push my changes to the repos then ssh into the host and checkout
the buildout and then build it.
4. I check each dev egg in seperatly and then use svn-develop buildout
extension in my buildout such that when I run my production buildout on
the server (in step 2) it will pull in my dev eggs from the repos.
Part of the reason I haven't published that tutorial is that this
process is a bit hard and ugly.
I know other people create release versions of the dev eggs and then scp
them to the server. I haven't experimented with that.
Others go further and run a local pypi on their server to grab those eggs.
Others use svn externals so that a checkout of the buildout also pulls
in the dev eggs. I went away from that method as sometimes I want to
checkout a version of the buildout with only some of the dev eggs. and I
personally think its buildouts job to define which software is used in
the setup and where it comes from, not svn.
Hope this makes it clearer.
Dylan
_______________________________________________
Product-Developers mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/product-developers