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]

Reply via email to