Cargo本地/远程部署war包的Ant脚本编写方式
来源:互联网 发布:淘宝客如意投是什么 编辑:程序博客网 时间:2024/04/28 23:39
最近本人研究了cargo远程部署war包的方式,采用的是Ant脚本,选型的应用服务器则是Wildfly的CR1版本,废话不多说,来看一下build.xml文件的编写方式:
1)、本地部署
<?xml version="1.0"?>
<project name="cargo_ant_demo01" default="deploy" basedir=".">
<property name="cargolib.dir" value="${basedir}\jar"/>
<property name="cargo-uberjar" value="${cargolib.dir}\cargo-core-uberjar-1.4.6.jar"/>
<property name="cargo-antjar" value="${cargolib.dir}\cargo-ant-1.4.6.jar"/>
<property name="common-discovery" value="${cargolib.dir}\commons-discovery-0.4.jar"/>
<property name="common-logging" value="${cargolib.dir}\commons-logging-1.1.1.jar"/>
<property name="jboss.home" value="D:\server\wildfly\wildfly-8.0.0.CR1-cargo01"/>
<property name="mywar" value="D:\Maven_Cargo\demo\nio_demo.war"/>
<taskdef resource="cargo.tasks">
<classpath>
<pathelement location="${cargo-uberjar}"/>
<pathelement location="${cargo-antjar}"/>
<pathelement location="${common-discovery}"/>
<pathelement location="${common-logging}"/>
</classpath>
</taskdef>
<target name="cargostart">
<echo message="Starting Cargo..."/>
<echo message="Using jboss.home = ${jboss.home} "/>
<echo message="Using war = ${mywar}"/>
<echo message="Jars used = ${cargo-uberjar} , ${cargo-antjar}"/>
<cargo containerId="wildfly8x" home="${jboss.home}" action="run">
<configuration>
<property name="cargo.servlet.port" value="8080"/>
<property name="cargo.logging" value="high"/>
<deployable type="war" file="${mywar}"/>
<!--<deployable type="war" file="${war.ss}"/> -->
</configuration>
</cargo>
</target>
<target name="deploy" depends="cargostart"/>
</project>
这里需要注意的也就是官网所说的两个必须的jar包(红色标出的)要添加到Ant的classpath里面,参考:http://cargo.codehaus.org/Ant+support ,后面两个commons的相关的包是本人在部署项目,执行ant命令(Ant下载:http://mirrors.hust.edu.cn/apache//ant/binaries/apache-ant-1.9.3-bin.zip
)的时候根据报出的ClassNotFound添加的。
2)、远程部署
<?xml version="1.0"?>
<project name="cargo_ant_demo01" default="deploy" basedir=".">
<property name="cargolib.dir" value="${basedir}\jar"/>
<property name="cargo-uberjar" value="${cargolib.dir}\cargo-core-uberjar-1.4.6.jar"/>
<property name="cargo-antjar" value="${cargolib.dir}\cargo-ant-1.4.6.jar"/>
<property name="common-discovery" value="${cargolib.dir}\commons-discovery-0.4.jar"/>
<property name="common-logging" value="${cargolib.dir}\commons-logging-1.1.1.jar"/>
<property name="jboss-cli" value="${cargolib.dir}\jboss-cli-client.jar"/>
<property name="mywar" value="D:\Maven_Cargo\demo\cargodemo.war"/>
<taskdef resource="cargo.tasks">
<classpath>
<pathelement location="${cargo-uberjar}"/>
<pathelement location="${cargo-antjar}"/>
<pathelement location="${common-discovery}"/>
<pathelement location="${common-logging}"/>
<pathelement location="${jboss-cli}"/>
</classpath>
</taskdef>
<target name="deploy">
<echo message="Starting Cargo..."/>
<echo message="Using war = ${mywar}"/>
<echo message="Jars used = ${cargo-uberjar} , ${cargo-antjar}"/>
<cargo containerId="wildfly8x" action="deploy" type="remote">
<configuration type="runtime">
<property name="cargo.hostname" value="10.19.220.XX"/>
<!--<property name="cargo.jboss.management-http.port" value="9990"/>-->
<!--<property name="cargo.servlet.port" value="8080"/> -->
<property name="cargo.remote.username" value="admin"/>
<property name="cargo.remote.password" value="admin@163"/>
<deployable type="war" file="${mywar}"/>
<!--<deployable type="war" file="${war.ss}"/> -->
</configuration>
</cargo>
<cargo containerId="wildfly8x" action="deploy" type="remote">
<configuration type="runtime">
<property name="cargo.hostname" value="192.168.88.128"/>
<property name="cargo.remote.username" value="admin"/>
<property name="cargo.remote.password" value="admin@163"/>
<deployable type="war" file="${mywar}"/>
</configuration>
</cargo>
</target>
<target name="undeploy">
<cargo containerId="wildfly8x" action="undeploy" type="remote">
<configuration type="runtime">
<property name="cargo.hostname" value="10.19.220.XX"/>
<property name="cargo.remote.username" value="admin"/>
<property name="cargo.remote.password" value="admin@163"/>
<deployable type="war" file="${mywar}"/>
</configuration>
</cargo>
<cargo containerId="wildfly8x" action="undeploy" type="remote">
<configuration type="runtime">
<property name="cargo.hostname" value="192.168.88.128"/>
<property name="cargo.remote.username" value="admin"/>
<property name="cargo.remote.password" value="admin@163"/>
<deployable type="war" file="${mywar}"/>
</configuration>
</cargo>
</target>
<!--<target name="deploy" depends="cargostart"/>-->
</project>
这里需要注意的地方就是相关客户端连接容器的jar包要添加进来,否则会出现识别不了containerId的错误,如上红色标出的jar依赖。
当然在安装好Ant,配置好环境变量之后,我们通过dos可以进入到build.xml文件所在目录,执行ant+Target任务名的方式执行ant命令,默认读取build.xml文件,当然也可以通过ant的如下命令指定读取不同的xml文件:
ant -buildfile XX.xml deploy
上面就是读取某一个ant文件,执行里面target名为deploy的任务。
远程部署的应用服务器必须是启起来的,而且也要添加管理员的用户身份。
如下是我在Eclipse里面编写项目的结构:
- Cargo本地/远程部署war包的Ant脚本编写方式
- 一个war包远程部署的脚本
- tomcat本地部署war包的方式
- ANT脚本编译成功的WAR包在部署WebSphere的时候遇到问题
- 利用Maven和Cargo远程部署war到Tomcat7
- 部署tomcat的war包脚本
- ant 脚本(war包)
- 用cargo插件部署war包,并支持debug
- 用cargo插件部署war包,并支持debug
- 利用Ant脚本生成war包的详细步骤
- 利用Ant脚本生成war包的详细步骤
- 利用Ant脚本生成war包的详细步骤
- 利用maven插件cargo远程(本地)自动部署
- maven使用cargo插件自动化(本地、远程)部署
- Jenkins+ant+tomcat7.0远程部署war包-tomcat-user配置
- ant打war包,部署并运行
- 利用Maven2的插件方式通过Cargo来远程部署应用到Jboss7上
- Ant脚本将web项目打war包、远程备份更新线上项目
- 不错的.net开源项目
- 工作随想
- ios解析csv文件
- 存货的计价方法
- 常用的类型转化
- Cargo本地/远程部署war包的Ant脚本编写方式
- No.1:01背包问题
- ios开发基础-判断NSString是否为纯数字
- NEFU OJ 207 最短路径问题
- android camera(三):camera V4L2 FIMC
- PHP Framework Laravel4 之路 一
- Alienware M11x R2 退居二线,家人工作用机
- acm笔记(1)
- android判断黑屏以及屏幕屏