使用 ant 从svn 检出项目, 让测试脱离ide 自行打包,发布测试
来源:互联网 发布:java if else if区别 编辑:程序博客网 时间:2024/05/18 08:09
为了能让 测试人员可以从svn上自己下载maven项目源代码,自己编译打包, 这里使用了ant 和批处理 进行实现
我们的思路是 :
maven 已经有了完善的项目构建功能,因此这里使用maven 对项目编译和打包,
而从svn 下载源代码的功能交给了ant
然后用批处理将这两个操作贯穿起来, 并提供ui 操作.
maven 具体的配置 打包流程 请参考 我的另一片博客 : http://blog.csdn.net/hcmdy/article/details/50114877
好了,下面进入正题
首先, 确保你的系统 中 jdk / maven / ant 环境安装配置正确
这里就不详细介绍了,请自行百度
先贴出 ant 的脚本
<?xml version="1.0"?> <!-- Sample build file used to retrieve svnant's sources --> <project name="svn-test" basedir="." default="checkout"> <!-- all properties --> <property name="lib.dir" value="svnant-1.3.1\lib" /> <property name="svn.dir" value="svn-source" /> <property name="svn.url" value="https://xxxxxxx/project_v1.5" /> <property name="svn.user" value="xxxx" /> <property name="svn.password" value="xxxx" /> <!-- path to the svnant libraries. Usually they will be located in ANT_HOME/lib --> <path id="svnant.classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> </path> <!-- load the svn task --> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" /> <svnSetting javahl="false" svnkit="true" username="${svn.user}" password="${svn.password}" id="svn.settings"/> <!-- 删除源代码文件夹 --> <target name="clean-src"> <echo message="开始删除源码目录:${svn.dir},请稍后..." /> <delete dir="${svn.dir}"/> <echo message="源码删除完毕。" /> </target> <target name="checkout" depends="clean-src"> <echo>开始从 ${svn.url} 检出源码,请稍后...</echo> <svn refid="svn.settings"><checkout url="${svn.url}" revision="HEAD" destPath="${svn.dir}" /> </svn><echo>检出源码成功</echo> </target> <!-- 从SVN服务器update源代码 --> <target name="update"> <echo message="开始从${svn.url}更新代码,请稍后..." /> <svn refid="svn.settings"> <update revision="HEAD" dir="${svn.dir}"/></svn> <echo message="从svn服务器更新代码完成。" /> </target> </project>
而 checkout 依赖领一个targert clean-src
也就是检出前 ,先删除已经下载的源代码
ant 操作svn 需要使用svnant
请将svnant 下载解压到本地目录,然后在build.xml 中 的 lib.dir指向svnant/lib目录
其他的4个参数依次是
源代码输出path
svn url
svn 用户名密码
打开 cmd 进入到build 所在目录
使用命令 ant checkout 就可以 检出最新项目了
使用命令 ant update 就可以更新项目了
ok 搞定了 ant 从svn 下载代码后我们来编写 我们的批处理脚本
@echo off ECHO.=-=-=-=-=-=-=-=-=-=-=-=检测运行环境=-=-=-=-=-=-=-=-=-=-=-=call java -versioncall ant -versioncall mvn -versionGOTO MENU:MENUECHO.ECHO.=-=-=-=-=-=-=-=-=newnewbank 自动化部署脚本=-=-=-=-=-=-=-=-=ECHO.ECHO. 1 检出源代码ECHO.ECHO. 2 更新源代码ECHO.ECHO. 3 全自动打包 web/micro/cus/financeECHO.ECHO. 4 编译打包webECHO.ECHO. 5 编译打包microECHO.ECHO. 6 编译打包cusECHO.ECHO. 7 编译打包financeECHO.ECHO. 8 退 出ECHO.ECHO. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=set /p ID=if "%id%"=="0" goto cmd0if "%id%"=="1" goto cmd1if "%id%"=="2" goto cmd2if "%id%"=="3" goto cmd3if "%id%"=="4" goto cmd4if "%id%"=="5" goto cmd5if "%id%"=="6" goto cmd6if "%id%"=="7" goto cmd7if "%id%"=="8" exit:cmd1echo 检出源代码@call ant checkoutgoto MENU:cmd2echo 更新源代码@call ant updategoto MENU:cmd3echo 全自动打包 web/micro/cus/financeecho 选择打包环境 1,开发 2,测试 3,生产set /p env=您的选择是:if "%env%" == "1" call mvn clean install -Pdevif "%env%" == "2" call mvn clean install -Pqaif "%env%" == "3" call mvn clean install -Pproductgoto MENU:cmd4echo 编译打包webecho 选择打包环境 1,开发 2,测试 3,生产set /p env=您的选择是:cd svn-source/newnewbank-utils@call mvn clean install@cd ../@cd newnewbank-customer@call mvn clean install@cd ../@cd newnewbank-product@call mvn clean install@cd ../../cd svn-source/newnewbank-webif "%env%" == "1" call mvn clean package -Pdevif "%env%" == "2" call mvn clean package -Pqaif "%env%" == "3" call mvn clean package -Pproduct@cd ../../goto MENU:cmd5echo 编译打包microecho 选择打包环境 1,开发 2,测试 3,生产set /p env=您的选择是:cd svn-source/newnewbank-utils@call mvn clean install@cd ../@cd newnewbank-customer@call mvn clean install@cd ../@cd newnewbank-product@call mvn clean install@cd ../../cd svn-source/newnewbank-microif "%env%" == "1" call mvn clean package -Pdevif "%env%" == "2" call mvn clean package -Pqaif "%env%" == "3" call mvn clean package -Pproduct@cd ../../goto MENU:cmd6echo 编译打包cusecho 选择打包环境 1,开发 2,测试 3,生产set /p env=您的选择是:cd svn-source/newnewbank-utils@call mvn clean install@cd ../@cd newnewbank-customer@call mvn clean install@cd ../@cd newnewbank-product@call mvn clean install@cd ../../cd svn-source/newnewbank-cusif "%env%" == "1" call mvn clean package -Pdevif "%env%" == "2" call mvn clean package -Pqaif "%env%" == "3" call mvn clean package -Pproduct@cd ../../goto MENU:cmd7echo 编译打包financeecho 选择打包环境 1,开发 2,测试 3,生产set /p env=您的选择是:cd svn-source/newnewbank-utils@call mvn clean install@cd ../@cd newnewbank-customer@call mvn clean install@cd ../@cd newnewbank-product@call mvn clean install@cd ../../cd svn-source/newnewbank-financeif "%env%" == "1" call mvn clean package -Pdevif "%env%" == "2" call mvn clean package -Pqaif "%env%" == "3" call mvn clean package -Pproduct@cd ../../goto MENU
脚本很简单, 无非是操作 ant 命令或是操作maven 命令
提供给测试选择 打包环境是使用了 maven 的profiles 参数并在maven 使用插件实现的
具体请移步:
http://blog.csdn.net/hcmdy/article/details/50114877
- 使用 ant 从svn 检出项目, 让测试脱离ide 自行打包,发布测试
- 批处理命令 从SVN检出代码 并使用MSBulid命令发布打包网站程序
- 使用Eclipse从SVN检出Maven项目
- 利用ant从svn更新项目编译打包并发布项目的脚本
- 使用Ant从svn检出代码(check out resource from svn use ant)
- 从svn上检出为的web项目,检出后不能发布到tomcat中解决办法
- 从SVN上检出项目
- ant笔记-7.项目构建之运行测试、生成文档、项目打包、发布ftp
- ant+svn检出并部署项目
- eclipse使用教程系列二:从svn上检出项目
- 使用Ant构建web项目 从编译到测试 生成测试报告 打包 邮件发送 远程下载tomcat 部署运行一条龙服务之ant脚本
- XCode8 真机测试打包,让发布测试更轻松
- XCode8 真机测试打包,让发布测试更轻松
- maven项目打包发布时跳过测试
- 怎样从svn检出一个maven项目
- Zend Studio从svn检出项目
- 从SVN检出项目报override错误
- AndroidStudio如何从SVN检出项目
- DNS解析过程
- Scrolview嵌套gridView
- 学习嵌入式规划
- 第14周—项目1(3)二叉排序树
- SIMHASH算法原理与实现
- 使用 ant 从svn 检出项目, 让测试脱离ide 自行打包,发布测试
- C语言基础篇(五)
- ActiveMQ内存设置和流控
- 第九周 数据结构实践项目——数组和广义表【项目3.2-- 稀疏矩阵相加】
- 第十四周实践项目1—算法验证(3)二叉排序树
- 微信JS-SDK说明文档 能调用微信扫一扫 ,那能不能让浏览器支持微信支付呢
- WebView与js数据的交互
- was plugin参数
- 第二章 Spring MVC入门