新增Ant远程部署deploy.xml脚本

This commit is contained in:
jinyu 2015-03-25 20:25:56 +08:00
parent e4e05e5370
commit 5557141b93
7 changed files with 159 additions and 16 deletions

View File

@ -188,15 +188,20 @@
* 2015-03-21
+ **weixin-mp**: 新增群发消息给所有人接口
+ **weixin4j-mp**: 新增群发消息给所有人接口
+ **weixin-mp**: 新增素材管理多个接口
+ **weixin4j-mp**: 新增素材管理多个接口
+ **weixin-mp**: 新增多客服会话管理多个接口
+ **weixin4j-mp**: 新增多客服会话管理多个接口
* 2015-03-25
+ **weixin-mp**: 根据《微信商户平台文档》修缮[Pay3Api](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/Pay3Api.java)类
+ **weixin4j-mp**: 根据《微信商户平台文档》修缮[Pay3Api](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/Pay3Api.java)类
+ **weixin4j-mp**: 新增客服创建、关闭、转接会话事件
+ **weixin4j-mp**: 新增deploy.xml远程部署ant脚本
+ **weixin4j-qy**: 新增deploy.xml远程部署ant脚本
+ **weixin-mp**: 新增客服创建、关闭、转接会话事件

View File

@ -184,14 +184,16 @@ weixin4j-mp
* 2015-03-21
+ **weixin-mp-api**: 新增群发消息给所有人接口
+ **weixin4j-mp-api**: 新增群发消息给所有人接口
+ **weixin-mp-api**: 新增素材管理多个接口
+ **weixin4j-mp-api**: 新增素材管理多个接口
+ **weixin-mp-api**: 新增多客服会话管理多个接口
+ **weixin4j-mp-api**: 新增多客服会话管理多个接口
* 2015-03-25
+ **weixin-mp-api**: 根据《微信商户平台文档》修缮[Pay3Api](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/Pay3Api.java)类
+ **weixin4j-mp-api**: 根据《微信商户平台文档》修缮[Pay3Api](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/Pay3Api.java)类
+ **weixin-mp-server**: 新增客服创建、关闭、转接会话事件
+ **weixin4j-mp-server**: 新增客服创建、关闭、转接会话事件
+ **weixin4j-mp-server**: 新增deploy.xml远程部署ant脚本

View File

@ -47,12 +47,22 @@ weixin4j-mp-server
return new ResponseMessage(new Text("Hello World!"), inMessage);
}
3.`mvn package`,得到一个zip的压缩包,解压到启动目录(见`src/main/startup.sh/APP_HOME`)
3.`mvn package`,得到一个zip的压缩包,解压(也可使用deploy.xml部署远程服务器)到`启动目录`
4.启动netty服务(`com.foxinmy.weixin4j.mp.startup.WeixinMpServerBootstrap`)
sh startup.sh start
> 1.服务的启动脚本[startup.sh](./src/main/startup.sh)需要被注意到,有`JAVA_HOME``APP_HOME`两个参数.
> 2.其中`JAVA_HOME`参数值指的是java运行环境(jre|jdk)的安装根目录,如果与脚本中的值不一致,可以改更为实际的路径或者使用`ln -s target /usr/local/java`软链接命令创建期望的链接.
> 3.其中`APP_HOME`参数值指的是本服务的启动目录,此目录需要被正确事先创建好,同时[`deploy.xml`](./deploy.xml)远程部署命令也依赖于此.
> 4.Ant远程部署[`deploy.xml`](./deploy.xml)的正确执行需要[`jsch`](http://www.jcraft.com/jsch/)包的支持,下载jar包将其引入执行Ant命令时的`classpath`中.
> 5.一般来说*Action事件处理类中应该有自己的实际业务类(`service`)需要被注入,可以使用org.springframework.context.ApplicationContext#getBeansWithAnnotation(ActionAnnotation.class)函数获取Action集合后再来实现[`AbstractActionMapping`](https://github.com/foxinmy/weixin4j/blob/master/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AbstractActionMapping.java).
更新LOG
-------
* 2014-11-03
@ -72,3 +82,5 @@ weixin4j-mp-server
* 2015-03-25
+ 新增客服创建、关闭、转接会话事件
+ 新增deploy.xml远程部署ant脚本

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="mp-server" default="deploy" basedir=".">
<property name="app.home" value="." />
<property name="target.home" value="${app.home}/target" />
<property name="zip.name" value="weixin-mp-server-bin.zip" />
<property name="host" value="服务器IP" />
<property name="pwd" value="服务器口令" />
<property name="main.dir" value="服务部署的主目录,如/usr/local/weixin" />
<property name="sub.dir" value="服务部署的子目录,如weixin-mp-server" />
<target name="removeZip">
<echo>
${host}:删除[${zip.name}]...
</echo>
<sshexec host="${host}" username="root" password="${pwd}" trust="true" command="cd ${main.dir};pwd;rm -rf ${main.dir}/${zip.name};" />
</target>
<target name="uploadZip" depends="removeZip">
<echo>
${host}:上传[${zip.name}]...
</echo>
<scp file="${target.home}/${zip.name}" todir="root:${pwd}@${host}:${main.dir}" trust="true" />
</target>
<target name="shutdownService" depends="uploadZip">
<echo>
${host}:停止[${sub.dir}]...
</echo>
<sshexec host="${host}" username="root" password="${pwd}" trust="true" command="cd ${main.dir}/${sub.dir};pwd;sh startup.sh stop;rm -rf ${main.dir}/${sub.dir};" />
</target>
<target name="unzipProject" depends="shutdownService">
<echo>
${host}:解压${zip.name}...
</echo>
<sshexec host="${host}" username="root" password="${pwd}" trust="true" command="cd ${main.dir};pwd;unzip ${zip.name};" />
</target>
<target name="startupService" depends="unzipProject">
<echo>
${host}:启动服务...
</echo>
<sshexec host="${host}" username="root" password="${pwd}" trust="true" command="cd ${main.dir}/${sub.dir};pwd;sh startup.sh start;" />
</target>
<target name="build" depends="startupService">
<echo>
target.home = ${target.home}
file.zip = ${target.home}/${zip.name}
</echo>
</target>
<target name="deploy" depends="build">
</target>
</project>

View File

@ -116,3 +116,5 @@ weixin4j-qy
* 2015-03-17
+ **weixin4j-qy-api**: 新增企业应用设置接口
+ **weixin4j-qy-server**: 新增deploy.xml远程部署ant脚本

View File

@ -37,12 +37,22 @@ weixin4j-qy-server
return new ResponseMessage(new Text("Hello World!"), inMessage);
}
3.`mvn package`,得到一个zip的压缩包,解压到启动目录(见`src/main/startup.sh/APP_HOME`)
3.`mvn package`,得到一个zip的压缩包,解压(也可使用deploy.xml部署远程服务器)到`启动目录`
4.启动netty服务(`com.foxinmy.weixin4j.mp.startup.WeixinQyServerBootstrap`)
sh startup.sh start
> 1.服务的启动脚本[startup.sh](./src/main/startup.sh)需要被注意到,有`JAVA_HOME``APP_HOME`两个参数.
> 2.其中`JAVA_HOME`参数值指的是java运行环境(jre|jdk)的安装根目录,如果与脚本中的值不一致,可以改更为实际的路径或者使用`ln -s target /usr/local/java`软链接命令创建期望的链接.
> 3.其中`APP_HOME`参数值指的是本服务的启动目录,此目录需要被正确事先创建好,同时[`deploy.xml`](./deploy.xml)远程部署命令也依赖于此.
> 4.Ant远程部署[`deploy.xml`](./deploy.xml)的正确执行需要[`jsch`](http://www.jcraft.com/jsch/)包的支持,下载jar包将其引入执行Ant命令时的`classpath`中.
> 5.一般来说*Action事件处理类中应该有自己的实际业务类(`service`)需要被注入,可以使用org.springframework.context.ApplicationContext#getBeansWithAnnotation(ActionAnnotation.class)函数获取Action集合后再来实现[`AbstractActionMapping`](https://github.com/foxinmy/weixin4j/blob/master/weixin4j-base/src/main/java/com/foxinmy/weixin4j/action/mapping/AbstractActionMapping.java).
更新LOG
-------
* 2014-11-19
@ -58,3 +68,7 @@ weixin4j-qy-server
+ 增加用户进入应用的callback事件
+ 调整回调模式下的首次验证的签名方式
* 2015-03-25
+ 新增deploy.xml远程部署ant脚本

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="qy-server" default="deploy" basedir=".">
<property name="app.home" value="." />
<property name="target.home" value="${app.home}/target" />
<property name="zip.name" value="weixin-qy-server-bin.zip" />
<property name="host" value="服务器IP" />
<property name="pwd" value="服务器口令" />
<property name="main.dir" value="服务部署的主目录,如/usr/local/weixin" />
<property name="sub.dir" value="服务部署的子目录,如weixin-qy-server" />
<target name="removeZip">
<echo>
${host}:删除[${zip.name}]...
</echo>
<sshexec host="${host}" username="root" password="${pwd}" trust="true" command="cd ${main.dir};pwd;rm -rf ${main.dir}/${zip.name};" />
</target>
<target name="uploadZip" depends="removeZip">
<echo>
${host}:上传[${zip.name}]...
</echo>
<scp file="${target.home}/${zip.name}" todir="root:${pwd}@${host}:${main.dir}" trust="true" />
</target>
<target name="shutdownService" depends="uploadZip">
<echo>
${host}:停止[${sub.dir}]...
</echo>
<sshexec host="${host}" username="root" password="${pwd}" trust="true" command="cd ${main.dir}/${sub.dir};pwd;sh startup.sh stop;rm -rf ${main.dir}/${sub.dir};" />
</target>
<target name="unzipProject" depends="shutdownService">
<echo>
${host}:解压${zip.name}...
</echo>
<sshexec host="${host}" username="root" password="${pwd}" trust="true" command="cd ${main.dir};pwd;unzip ${zip.name};" />
</target>
<target name="startupService" depends="unzipProject">
<echo>
${host}:启动服务...
</echo>
<sshexec host="${host}" username="root" password="${pwd}" trust="true" command="cd ${main.dir}/${sub.dir};pwd;sh startup.sh start;" />
</target>
<target name="build" depends="startupService">
<echo>
target.home = ${target.home}
file.zip = ${target.home}/${zip.name}
</echo>
</target>
<target name="deploy" depends="build">
</target>
</project>