必要条件
网络联通,服务器开通fps客户端,ant,工程打包脚本
1:ftp服务器开通
1:新建用户
控制面板->管理工具->计算机管理->系统工具->本地用户和组->用户
新增用户
填写用户信息
2:开通ftp服务
打开服务器管理工具->仪表盘
没有iis,,
新建角色和功能
管理->添加角色和功能
开始之前->安装类型->服务器选择->服务器角色
选择web服务器(iis)
->添加功能->
->功能->web服务器角色->角色服务
->确认(安装)
->结果(关闭)
已存在iis
Iss->选择服务器->右击->选择internet information services(iis)管理器
打开后如下
选择服务器->右击->添加ftp站点
物理路径为ftp用户拥有的权限路径
设置信息
点击完成
测试ftp服务
输入用户名和密码。用户名为ftp使用的用户,密码为创建时的密码
2.ant安装(详细教程自定百度)
1:下载apach ant
根据需要自行下载版本,非源码版,
2:下载后解压到指定文件
3:设置计算机全局变量,
4,校验安装是否成功,cmd下输入ant –version
3.build.xml脚本
创建build.xml脚本
Eclipse 导出build.xml后修改脚本修改后下
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="build" name="pro">
Default默认执行入口名称,
<property name="target" value="1.7"/>
<property name="source" value="1.7"/>
<property name="setPath" value="WebContent"/>
<property name="cpath" value="WebContent/WEB-INF"/>
<property name="classPath" value="WebContent/WEB-INF/classes"/>
<property name="warPath" value="D:\war包"/>设置变量
<tstamp>
<format property="TODAY_MY" PATTERN="yyyyMMdd_HH" locale="en.UK"/>
</tstamp>获取时间,用来创建文件夹
<path id="jars">
<pathelement location="WebContent/WEB-INF/classes"/>
<fileset dir="${cpath}/lib"/>
</path>打包依赖jar包路径,也可以指名具体jar
<target name="init">创建文件夹和复制所需文件
<echo message="creating folder!。。。"/>
<mkdir dir="${classPath}"/>
<mkdir dir="${warPath}/${TODAY_MY}${ant.project.name}"/>
<echo message="created folder!。。。"/>
<echo message="creat set files!。。。"/>
<copy includeemptydirs="false" todir="${classPath}">
<fileset dir="src">
<exclude name="**/*.java"/>
</fileset>
</copy>
<copy includeemptydirs="false" todir="${classPath}">
<fileset dir="resources">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="clean">
<echo message="clearing ${classPath}..."/>
<delete dir="${classPath}\com\forms\web"/>清除指定文件夹,祖传代码编译报错
</target>
<target depends="clean" name="cleanall"/>清除文件
<target depends="init" name="build-project">编译文件
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true" destdir="${classPath}"
includeantruntime="false" source="${source}" target="${target}"
encoding="utf-8" fork="true" >
<src path="src" />
<compilerarg line="-Xlint:unchecked -Xlint:deprecation"/>
<classpath refid="jars"/>
</javac>
</target>
<target name="builtWar" depends="cleanall,build-project">打包
<echo message="date:${TODAY_MY}"/>
<war destfile="${warPath}/${TODAY_MY}${ant.project.name}/${ant.project.name}.war" webxml="${cpath}/web.xml">
<fileset dir="${basedir}/WebContent"></fileset>
<lib dir="${basedir}/${cpath}/lib"/>
<classes dir="${basedir}/${classPath}"/>
</war>
</target>
<target depends="builtWar" name="build"/>打包入口,先执行依赖
<target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/>
</project>
4,换版脚本
1打包脚本
用不到
@echo off
cd /d D:\workSpace\FPS_WEB_UAT 进入build.xml所在目录
start cmd /k ant 新开cmd窗口执行打包脚本,执行后关闭cmd,想关闭参数/C改为/k
2:上传脚本
@echo off
cd D:\war包\20210304_14fps
echo open 10.81.8.88>ftp.up 内容出入到ftp.up文件 打开ftp地址
echo fps>>ftp.up 用户名
echo 1qaz!QAZ>>ftp.up 密码
echo bin>>ftp.up 设置变量,防止乱码
echo cd fpswar>>ftp.up 进入存放文件目录
echo put D:\war包\%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%fps\fps.war>>ftp.up 上传文件
echo quit>>ftp.up 关闭ftp连接
ftp -s:ftp.up 执行ftp命令内容为ftp.up文件
del ftp.up /q 删除文件
pause 不关闭cmd窗口
3:统一脚本
@echo off
cd /d D:\workSpace\FPS_WEB_UAT 进入build.xml
start cmd /C ant 打包
echo WScript.sleep 60000 >sleep.vbs 上传文件命令60s后执行
sleep.vbs
del sleep.vbs /q 删除暂停文件
cd /d D:\war包\20210304_14fps 进入上传脚本目录
t.bat 执行上传脚本