Hi Folks,
In response to Randy's question and to further Thiago's discussion:
We've gone as far as using continuous integration even for config
files. The leverage that we have with regards to our build/deploy model
means that we can take our apache configs, push them into a repo, run
our build wrapper -- and output a package for deployment. The whole
process executes a shell script (sh) that labels, pulls from our
Subversion repo, and kicks off an Ant build.xml, which in turn calls a
number of other processes where needed. We use this same methodology
for all code, be it Java,C, JavaScript, or other. The added component
for us, is the Operating System level packages (some may find this a bit
extravagant) - Solaris and RedHat, which we can auto deploy to any
server. The built in functionality of the packages (of course, hand
crafted) gives us the leverage to deploy the same package to our
development environment, quality assurance, and to production
environments without changing any configs.
From the repo perspective, you end up with repeatable, labeled, and
reproducible builds.
Cheers,
Kevin