Hi Chris

It seems like you guys have a pretty good setup going, better than the one at my (current) company anyway. I didn't realise that your environment doesn't have dependencies on statically linked war files like ours does. The developer makes a release and creates the three wars for deployment at the same time, which then have to be kept in synch. I have a lot of issues with this process as it's very error-prone, and I think some of my attitude towards this process crept into my previous emails, which wasn't appropriate. my bad.

Unfortunately not all of us are lucky enough for the prod server to have access to the version control repository...;-p

Also, our situation is a bit different where we consult to the client, our two networks are totally separated so there's no way that we can do fresh builds from version control (Subversion rocks!) to deployement targets directly. We need to build the wars in our office, then submit them to the client for testing and promotion. We have very little control over the promotion process, and more than once we've had serious bugs resulting from the wrong war going into the wrong target due to a mistake by the clients sysadmin. Thus my attitude towards configuration being external to the app as much as possible, I like to build a stand-alone war that gets as much of their info as possible from the container/database.


responses inline.

Christopher Schultz wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Matt,

I disagree with many of your assertions.
well put.
I'm guessing that you don't deploy all 3 WARs onto the same machine.
What's the difference between 3 different WARs and 1 WAR in 3 places?
Don't complain about disk space when the argument is 1) flawed (disk
space doesn't matter) and 2) moot (deployments to different servers).
fair point, HD space isn't an issue. it's the process used to deploy the war to the server, and ensuring that the same release is delivered consistently across all targets. so long as the code can be deployed consistely & transparent of the target that's the main thing as I see it.
I completely disagree. We have complex configurations that need to
change for each environment (many properties files, etc.). Trying to
create one properties file to rule them all is impossible, and shoving
all that configuration into a (static) deployment descriptor on the
target server is kludgy and error prone, since the developers don't have
control over the server configuration.
sorry, I should have been more specific, I was just referring to database targeting, not the complete environment. there's a lot of things that ant <replace> is excellent for.
We don't deliver a WAR file to our deployment team; we give them a cvs
tag to use as the new version. It's as simple as:

$ pushd
$ cd $APP
$ ant tomcat-stop
$ ant install-clean
$ popd
$ rm -rf $APP
$ cvs checkout -r ${RELEASE_TAG} ${APP}
$ cd ${APP}
$ ant install
$ ant tomcat-start

You may find that complicated, but it's all that's required for us to
deploy our applications into ANY environment.
nice. fresh checkout from cvs tag straight into deployment. is good!
Wanna upgrade Tomcat? No
problem:

# cd /where/you/want/tomcat/to/live
# tar xzf apache-tomcat-version.tar.gz
# (fix 'tomcat' symlink)
# (restart apps at your convenience)

No effing around with Tomcat server configuration. In fact, deploying
our production applications doesn't require root access, so out
deployment team can't really break anything.
nice.
- -chris

--
Matthew Kerle
IT Consultant
Canberra, Australia

Mobile: +61404 096 863
Email : [EMAIL PROTECTED]
Web : http://threebrightlights.blogspot.com/


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to