Stephen Nesbitt wrote:
> I consider it best practice to *never* incorporate runtime configuration
> information into a build. When asked to do so I also request that I be
> given a "way forward machine" that will peer into the future and tell me
> where it will be deployed.
I dont like hard coding config information into the source or WAR/EAR,
either, but I do like all system config to be under SCM. Because without
that you are relying on the ops team to follow your instructions in
order. Or you are left peering back in time trying to work out what is
left out.
2. the moment you put any hard coded fact like a URL, hostname or a
directory path, you have an implicit configuration in there. So unless
JNDI is used for everything, you have that configuration in there.
3. The moment you add a JAR into the WAR file, you have hard coded a
configuration -the library that you intend to run with. How do you keep
them outside the build?
> Less flippantly, relying on "targeted" builds - builds specific to a
given
> environment - is not scaleable (environments are always growing in my
> experience), aren't maintainable (someone always forgets to update all
> the configurations),
That's because you need to use a configuration language with inheritance
and cross referencing :)
But you are right about the maintenance costs. Nowadays we even keep vm
images (or the info needed to create them) under SCM, so we can rebuild
everything.
> aren't flexible (someone needs to test on a new,
> temporary environment right now and can't because a new configuration
and
> build have to be created.).
That is tricky, especially with a distributed applications. On a more
positive note, VMWare and Xen let you eliminate many of the differences
between test and production machines. But it is possible, and once you
have the setup to create machines on demand, you can now deploy to
different system configurations (vista, java6, etc), without too many
problems. do you know at Cisco they rebuild their network stacks for x86
so they can test under vmware? The only troublespot these days are
non-x86 platforms that you cant recompile, or those operating systems
that refuse to run under vmware/xen (macos, some vista images (well,
they say don't, but they dont test it yet))
This is how we do it:
http://smartfrog.org/presentations/distributed_testing_with_smartfrog_slides.pdf
and the video: http://smartfrog.org/autolinks/googleLTAC06.htm
Stephen, I'm interested to know how you do manage your systems. What CM
tools do you/ops use?
-steve
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]