Apache Ant ServerDeploy User Manual
by
- Christopher A. Longo (cal@cloud9.net)
- Cyrille Morvan (cmorvan@ingenosya.com)
At present the tasks support:
Over time we expect further optional tasks to support additional J2EE Servers.
Task Application Servers serverdeploy Nested Elements generic Generic task jonas JOnAS 2.4 weblogic Weblogic ServerDeploy element
Description:
The
serverdeploy
task is used to run a "hot" deployment tool for vendor-specific J2EE server. The task requires nested elements which define the attributes of the vendor-specific deployment tool being executed. Vendor-specific deployment tools elements may enforce rules for which attributes are required, depending on the tool.Parameters:
Attribute Description Required action This is the action to be performed. For most cases this will be "deploy". Some tools support additional actions, such as "delete", "list", "undeploy", "update"... Yes source A fully qualified path/filename of the component to be deployed. This may be an .ear, .jar, .war, or any other type that is supported by the server. Tool dependent Nested Elements
The serverdeploy task supports a nested
classpath
element to set the classpath.Vendor-specific nested elements
Parameters used for all tools:
Attribute Description Required classpath The classpath to be passed to the JVM running the tool. The classpath may also be supplied as a nested element. Tool dependent server The address or URL for the server where the component will be deployed. Tool dependent username The user with privileges to deploy applications to the server. Tool dependent password The password of the user with privileges to deploy applications to the server. Tool dependent Also supported are nested vendor-specific elements.
Generic element
This element is provided for generic Java-based deployment tools. The generic task accepts (but does not require) nestedarg
andjvmarg
elements. A JVM will be spawned with the provided attributes. It is recommended that a vendor-specific element be used over the generic one if at all possible.The following attributes are supported by the generic element.
Attribute Description Required classname This is the fully qualified classname of the Java based deployment tool to execute. Yes Nested Elements
The generic element supports nested
<arg>
and<jvmarg>
elements.Example
This example shows the use of generic deploy element to deploy a component using a Java based deploy tool:
<serverdeploy action="deploy" source="${lib.dir}/ejb_myApp.ear"> <generic classname="com.yamato.j2ee.tools.deploy.DeployTool" classpath="${classpath}" username="${user.name}" password="${user.password}"> <arg value="-component=WildStar"/> <arg value="-force"/> <jvmarg value="-ms64m"/> <jvmarg value="-mx128m"/> </generic> </serverdeploy>WebLogic element
The WebLogic element contains additional attributes to run the
weblogic.deploy
deployment tool.Valid actions for the tool are
deploy
,undeploy
,list
,update
, anddelete
.If the action is
deploy
orupdate
, theapplication
andsource
attributes must be set. If the action isundeploy
ordelete
, theapplication
attribute must be set. If theusername
attribute is omitted, it defaults to "system". Thepassword
attribute is required for all actions.
Attribute Description Required application This is the name of the application being deployed Yes component This is the component string for deployment targets. It is in the form <component>:<target1>,<target2>...
Where component is the archive name (minus the .jar, .ear, .war extension). Targets are the servers where the components will be deployedno debug If set to true, additional information will be printed during the deployment process. No Examples
This example shows the use of serverdeploy to deploy a component to a WebLogic server:
<serverdeploy action="deploy" source="${lib.dir}/ejb_myApp.ear"> <weblogic application="myapp" server="t3://myserver:7001" classpath="${weblogic.home}/lib/weblogic.jar" username="${user.name}" password="${user.password}" component="ejb_foobar:myserver,productionserver" debug="true"/> </serverdeploy>This example shows serverdeploy being used to delete a component from a WebLogic server:
<serverdeploy action="delete" source="${lib.dir}/ejb_myApp.jar"/> <weblogic application="myapp" server="t3://myserver:7001" classpath="${weblogic.home}/lib/weblogic.jar" username="${user.name}" password="${user.password}"/> </serverdeploy>JOnAS (Java Open Application Server) element
The JOnAS element contains additional attributes to run the
JonasAdmin
deployment tool.Valid actions for the tool are
deploy
,undeploy
,list
andupdate
.You can't use
user
andpassword
property with this task.
Attribute Description Required jonasroot The root directory for JOnAS. Yes orb Choose your ORB : RMI, JEREMIE, DAVID, ... If omitted, it defaults to the one present in classpath. The corresponding JOnAS JAR is automatically added to the classpath. If your orb is DAVID (RMI/IIOP) you must specify davidhost and davidport properties. No davidhost The value for the system property : david.CosNaming.default_host
.No davidport The value for the system property : david.CosNaming.default_port
.No classname This is the fully qualified classname of the Java based deployment tool to execute. Default to org.objectweb.jonas.adm.JonasAdmin
No Nested Elements
The jonas element supports nested
<arg>
and<jvmarg>
elements.Examples
This example shows the use of serverdeploy to deploy a component to a JOnAS server:
<serverdeploy action="deploy" source="${lib.dir}/ejb_myApp.jar"> <jonas server="MyJOnAS" jonasroot="${jonas.root}"> <classpath> <pathelement path="${jonas.root}/lib/RMI_jonas.jar"/> <pathelement path="${jonas.root}/config/"/> </classpath> </jonas> </serverdeploy>This example shows serverdeploy being used to list the components from a JOnAS server and a WebLogic server:
<serverdeploy action="list"/> <jonas jonasroot="${jonas.root}" orb="JEREMIE"/> <weblogic application="myapp" server="t3://myserver:7001" classpath="${weblogic.home}/lib/weblogic.jar" username="${user.name}" password="${user.password}"/> </serverdeploy>