Ant 利用jcraft实现自动化封装, 和启动服务
Ant 利用jcraft实现自动化打包, 和启动服务
之前我有写过ant的基本使用,以及一些常用配置,如果这些不懂,可以参考下本人的前些年写的文章
Ant的基本使用 以及Ant的常用配置
这篇文章主要讲如何利用jcraft来完成ant的远程拷贝文件以及执行远程脚本的功能来完成我们在项目中实现自动部署的一些事情。
首先介绍下JCraft,它是纯java实现的SSH2, 较高版本的ant就用到了这个库。我们在build.xml文件中如果用到了类似sshexec, scp这样的命令就需要用到这个库。
打开主页 http://www.jcraft.com/jsch/ 往下一翻翻就能找到下载的地方。下载之后,我们要配置类加载路径才能用, 打开eclipse->preferences->ant->runtime->classpath 将下载的类放入到classpath中,如下图
加好之后我们就用相关的命令了,如下面,我执行远程机器中的stop.sh来停止相关服务,然后我拷贝新打好的jar到远程机器,最后再启动这个服务。
<target name="zip" depends="buildjar"> <!-- <zip destfile="${build}/${project.name}.zip" basedir="${build}" /> --> <sshexec host="${server}" username="${user}" password="${pwd}" trust="true" command="/opt/service/stop.sh"> </sshexec> <scp todir="${user}:${pwd}@${server}:${path}" trust="true" verbose="true"> <fileset dir="${build}/"> <include name="${file.name}" /> </fileset> </scp> <sshexec host="${server}" username="${user}" password="${pwd}" trust="true" command="/opt/service/oa/start.sh"> </sshexec> </target>