> Hey Jim --
>
> > Also, Randal Schwartz wrote about cvs is a slightly more general
setting:
> >
> > http://www.linux-mag.com/2002-07/perl_01.html
>
>
> The system we use goes a bit beyond even what Randal describes (although,
he
> is on a similar track).
>
> In a nutshell, the Apache "httpd.conf" file is "templatized" to replace
> elements such as the IP address, host name and path names with variables.
> To start the server for a particular environment the developer runs a Perl
> program which creates a custom "httpd.conf"

This is so close to what I recently put together one would have to worry
about plagarism :-)

I took it one step further, in that my setup script will configure not only
the base http config files (for both proxy and app server), but also all the
database configuration scripts, and application configurations.  I did an
install for a fellow developer today in about 5 minutes - complete proxy/app
server config, build and populate database tables.  I had to edit one file,
which in turn was used to create the customized configuration files.

I don't keep the base config files in CVS - yet.  All source is in CVS, but
I haven't got around to moving the config into CVS.

Regarding deployment, I wrote a tool which goes into CVS and extracts tagged
modules.  The extracted code is placed into a tar archive with a few other
files which indicate where the code is to be installed, plus a few other
goodies.  I can then give this deployment archive to our sysadmin who can
simply type

    deploy --install the-file.dar

and the code gets installed.  We have separate deployment files for the perl
libs, the Mason components, images, and a few other odds and ends.  It works
well, and it's very easy.

Why a custom deploy tool?  I didn't like the idea of using CVS on the
production server, which is in a very tightly controlled environment. I
doubt if I could have enticed the network folks to open the firewall to let
CVS traffic through in any case....

Cheers!

    -klm.

Reply via email to