Scott--
We've intentionally removed the deployment Ant from the distribution. The approach is that the deployment of your application is something that's best left to the developer for two reasons:
1) every deployment environment is different. Capturing everyone's deployment requirements in general-purpose targets is going to be hard, but if we ship them, those requirements will come.
2) this requires supporting deployment of lots of various project types (webapp, EAR, web service, etc) on lots of different servers. This is hard to test (and if it's in the distribution, we are shipping it, so presumably it needs to be tested). In addition, Beehive becomes responsible for tracking API / shell script changes across different servers.
In general, a container's documentation is pretty good at providing snippets of code / Ant / shell script that does deployment. And, I'd rather have that be source of record than the try to make Beehive Ant scripts the source of record. Several links are included below.
It's also the case that other OSS web frameworks don't ship deploy/undeploy/redeploy/start/stop code with their distributions. Neither Struts, Spring, nor SiteMesh (among lots of others) ship Ant to perform these tasks with the server. In the case of Struts, SiteMesh, and other webapp frameworks, the samples can be built into a .war file (or are just shipped that way), and deploying this into Tomcat (for example) is just a matter of starting the server and copying the .war into <tomcatHome>/webapps.
One thing that would help this is if there was a section of the Wiki that pointed to the various deployment documentation for supported server versions. Then, the community could help keep that page up-to-date with links to container documentation, tips / tricks, code snippets, etc.
If there's enough momentum behind shipping this Ant with the distribution, then we should discuss it, but I think that this is more complicated than just shipping the Ant files we have in the SVN tree.
Any other thoughts?
Hope that helps.
Eddie
Tomcat deployment: http://jakarta.apache.org/tomcat/tomcat-5.0-doc/manager-howto.html#Executing%20Manager%20Commands%20With%20Ant
Geronimo deployment: http://wiki.apache.org/geronimo/Deployment#head-327a55f82dc6818877a68e37b722bb7f2360b633-3
WebLogic deployment: http://e-docs.bea.com/wls/docs90/deployment/deploy.html#1020516
JOnAS deployment: http://jonas.objectweb.org/current/doc/Deployer.html#Deployer-DeploymentWAR http://jonas.objectweb.org/current/doc/Deployer.html#Deployer-DeploymentEAR
Scott Semyan wrote:
Right. That's what I'm saying. Those targets only exist in the source tree. Do we have any plans to make them available in the build scripts in the distributions? It sure would be handy for people...
Scott
-----Original Message-----
From: Patrick Osborne Sent: Tuesday, March 15, 2005 6:36 PM
To: Beehive Developers
Subject: Re: Proper way to build a webapp from a dist?
I personally use the targets in the beehive source tree for working with the server and the distribution for the webapp bits.
Patrick.
Scott Semyan wrote:
I'm talking about deploying the app to the server.
-----Original Message----- From: Patrick Osborne Sent: Tuesday, March 15, 2005 6:04 PM To: Beehive Developers Subject: Re: Proper way to build a webapp from a dist?
Are you talking about "deploying" the webapp to the server or "deploying" the beehive jars into the webapp lib dir?
<dist home>/ant/beehive-runtime.xml handles copying the jars into the webapp but not removing them.
Patrick.
Scott Semyan wrote:
Actually, the deploy and undeploy targets still appear in the Beehive/ant/buildWebapp.xml but I don't think they exist in the distribution. It would be cool if they did...
Scott
-----Original Message----- From: Scott Semyan Sent: Tuesday, March 15, 2005 5:37 PM To: Beehive Developers Subject: RE: Proper way to build a webapp from a dist?
Got it working now. Thanks. It looks like there is no deploy target anymore. This is too bad since hitting the web page everytime you want
to deploy is kind of a pain...
Scott
-----Original Message----- From: Jeremiah Johnson Sent: Tuesday, March 15, 2005 4:33 PM To: Beehive Developers Subject: RE: Proper way to build a webapp from a dist?
I believe that this is what is currently the proper way:
1. Copy build.properties and build.xml from <BEEHIVE_HOME>/samples/netui-blank/WEB-INF/src to your WEB-INF/src directory (where <BEEHIVE_HOME> is the root of your distribution).
2. Edit your copy of build.properties to correctly set the value of beehive.home=<BEEHIVE_HOME> (again, where <BEEHIVE_HOME> is the root of
your distribution). You can use beehive.home=${os.BEEHIVE_HOME} if you
have the BEEHIVE_HOME environment variable set to the root of the distribution.
3. Edit your copy of build.xml to set the contextPath property.
4. ant build war
In the case of the Pet Store, you can find the build.xml scripts in the
WEB-INF/src there as well. You probably won't need to update any of the files to build the Pet Store since it is within distribution. Note
that petstoreWeb.war is deposited at <BEEHIVE_HOME>/samples if you use
'ant build war'.
- jeremiah
-----Original Message----- From: Scott Semyan Sent: Tuesday, March 15, 2005 5:21 PM To: Beehive Developers Subject: Proper way to build a webapp from a dist?
What is the proper way to build a web app from a distribution? I can't
find any ant scripts for the Petstore app (for example) when I generate
a distribution. I know I can use the script from the svn enlistment but
it seems a distribution should be standalone.
Scott Semyan
