<project basedir="." default="deploy" name="****">
<property name="basePath" value="****" />
<property name="destPath" value="${basePath}\svn" />
<property name="svnurl" value="****" />
<property name="svn.username" value="****" />
<property name="svn.password" value="****" />
<property name="server" value="****" />
<property name="tomcat.path" value="****" />
<property name="ftp.username" value="****" />
<property name="ftp.password" value="****" />
<property name="telnet.username" value="****" />
<property name="telnet.password" value="****" />
<property name="telnet.prompt" value="$" />
<path id="ywtcclibpath">
<fileset dir="${destPath}/global-lib">
<include name="**\**.jar" />
</fileset>
</path>
<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" />
<target name="svncheckout" >
<echo message="svn checkout from ${svnurl}" />
<svn javahl="true" username="${svn.username}" password="${svn.password}">
<checkout url="${svnurl}/global-lib" destPath="${destPath}/global-lib" />
<checkout url="${svnurl}/****service" destPath="${destPath}/****service" />
<checkout url="${svnurl}/****web" destPath="${destPath}/****web" />
</svn>
</target>
<target name="preparewar" depends="svncheckout">
<echo message="start to make a war" />
<delete dir="${basePath}\target\web" />
<mkdir dir="${basePath}\target\web" />
<copy todir="${basePath}\target\web">
<fileset dir="${destPath}\****web\web">
<include name="**/**/**" />
<exclude name="**/.svn/**" />
</fileset>
</copy>
<mkdir dir="${basePath}\target\web\WEB-INF\classes" />
<echo message="compile the service code" />
<javac fork="true" classpathref="ywtcclibpath" srcdir="${destPath}\****service\src\main\java" encoding="UTF-8"
destdir="${basePath}\target\web\WEB-INF\classes" target="1.5" memorymaximumsize="256m" excludes="**/.svn/**" />
<copy todir="${basePath}\target\web\WEB-INF\classes">
<fileset dir="${destPath}\****service\src\main\resource" />
</copy>
<!--
<echo message="compile the service junit code" />
<javac fork="true" classpathref="ywtcclibpath" srcdir="${destPath}\****service\src\test\java" encoding="UTF-8" destdir="${destPath}\target\web\WEB-INF\classes" target="1.5" memorymaximumsize="256m" excludes="**/.svn/**" />
<junit showoutput="true" printsummary="true" fork="true">
<classpath>
<path>
<fileset dir="${destPath}/target/lib">
<include name="**\**.jar" />
</fileset>
</path>
<path location="${destPath}\target\web\WEB-INF\classes" />
</classpath>
<formatter type="plain" />
<batchtest haltonerror="on" haltonfailure="on" todir="${destPath}\target">
<fileset dir="${destPath}\target\web\WEB-INF\classes">
<include name="**\*Test.class" />
</fileset>
</batchtest>
</junit>
-->
<echo message="compile the web code" />
<javac fork="true" classpathref="ywtcclibpath" srcdir="${destPath}\****web\src\main\java" encoding="UTF-8" destdir="${basePath}\target\web\WEB-INF\classes" target="1.5" memorymaximumsize="256m" excludes="**/.svn/**" />
<copy todir="${basePath}\target\web\WEB-INF\classes">
<fileset dir="${destPath}\****web\src\main\resource" />
</copy>
<copy todir="${basePath}\target\web\WEB-INF\lib">
<fileset dir="${basePath}\target\lib" />
</copy>
<war destfile="${basePath}\ROOT.war" basedir="${basePath}\target\web" />
</target>
<target name="shutdownAndUpload" depends="preparewar">
<echo message="cleaning remote server files" />
<telnet server="${server}">
<read>login:</read>
<write string="${telnet.username}" />
<read>Password:</read>
<write string="${telnet.password}" />
<read string="${telnet.prompt}" />
<write>${tomcat.path}/bin/shutdown.sh</write>
<read string="${telnet.prompt}" />
</telnet>
<telnet server="${server}">
<read>login:</read>
<write string="${telnet.username}" />
<read>Password:</read>
<write string="${telnet.password}" />
<read string="${telnet.prompt}" />
<write>rm -R ${tomcat.path}/webapps/ROOT</write>
<read string="${telnet.prompt}" />
<write>rm -R ${tomcat.path}/webapps/ROOT.war</write>
<read string="${telnet.prompt}" />
</telnet>
<ftp password="${ftp.password}" server="${server}" userid="${ftp.username}" remotedir="${tomcat.path}/webapps/" binary="true">
<fileset file="${basePath}\ROOT.war" />
</ftp>
</target>
<target name="deploy" depends="shutdownAndUpload">
<telnet server="${server}">
<read>login:</read>
<write string="${telnet.username}" />
<read>Password:</read>
<write string="${telnet.password}" />
<read string="${telnet.prompt}" />
<write string="nohup ${tomcat.path}/bin/startup.sh" />
<read string="${telnet.prompt}" />
</telnet>
<echo message="well doen, it's over." />
</target>
</project>
分享到:
相关推荐
`svnant`是Ant的一个任务库,它提供了与SVN交互的能力,允许你在Ant脚本中执行诸如checkout(检出)、commit(提交)、update(更新)等SVN命令。 要使用`svnant`,首先需要将其添加到Ant的类路径中。`svnant-1.1.0...
3. 检出项目:使用`svn checkout`命令获取版本库中的项目到本地。 4. 日常操作:使用`svn update`更新本地文件,`svn commit`提交改动,`svn diff`查看差异,`svn revert`撤销本地更改。 5. 版本控制:通过`svn log`...
4. 创建软链接,使系统可以全局访问svn命令: ``` sudo ln -s /usr/local/svn/bin/svn /usr/bin/svn ``` 离线安装svn时,因为无法自动解决依赖问题,所以你需要手动确认所有依赖项是否齐全。`Linux离线安装svn...
使用`svn checkout <URL>` 或简写 `svn co <URL>` 将远程仓库的内容下载到本地工作副本。例如:`svn co https://example.com/svn/myproject` 3. **更新(update)** 在本地工作副本中,`svn update` 或 `svn up` ...
在这个例子中,`checkout`目标使用了`exec`任务来执行SVN命令,将代码检出到指定的目录。`compile`目标则使用`javac`任务编译源代码,其中`classpathref`属性指定了依赖的jar包。`classpath`路径定义了一个包含所有...
`ant-starteam.jar`是核心库,包含了一组任务和类,使得Ant能够执行如添加、更新、提交、检出等Starteam的命令。`ant.license.txt`文件则包含了关于Ant的许可协议信息,对于开源项目而言,了解并遵守这些许可协议是...
- 完成安装后,系统会添加SVN相关的环境变量,使得在任何目录下都能运行SVN命令。 二、配置中文包 1. 获取中文包:在"svn安装以及中文包Svn.zip"压缩包中,找到适合你的SVN版本的中文语言包。在这个例子中,我们...
2. **获取项目源码**:使用Svn,通过`svn checkout`命令从远程仓库克隆Web工程的源码到本地。这将获取项目的所有文件和版本历史。 3. **Ant构建文件**:在项目根目录下,通常会有一个名为`build.xml`的文件,这是...
2. **克隆仓库**: 使用`svn checkout`命令从仓库中获取项目到本地的工作副本。这样,你就可以在本地修改文件而不影响仓库中的原始版本。 3. **版本控制**: SVN使用版本号来追踪文件的每次修改。你可以使用`svn ...
它允许团队协作开发,对源代码和其他文件进行版本管理,确保多人同时编辑时的数据一致性,并提供了历史记录查询、回滚修改等功能。在SVN中,每一个文件和目录都有其唯一的版本号,可以追踪每一次的修改,这对于软件...
在开发机上,安装SVN客户端(通常已经预装),并使用以下命令克隆仓库: ```bash svn checkout http://your-server/svn my-working-copy ``` 之后,就可以在`my-working-copy`目录下进行常规的SVN操作,如`svn add...
在使用SmartSVN时,了解基本的SVN概念,如Checkout(检出)、Commit(提交)、Update(更新)和Revert(还原),对于有效利用该工具至关重要。此外,掌握如何处理冲突、创建和合并分支,以及有效地进行版本管理,将...
这样,你就可以在Ant构建文件中声明新的任务,比如`<svn>`,并配置相关属性来执行SVN命令。 以下是一个简单的示例,展示了如何在Ant脚本中使用SVN插件: ```xml <project name="myProject" basedir="." default=...
- 要关联项目到SVN仓库,右键点击项目根目录,选择`Git` -> `Import into Version Control` -> `Checkout from Version Control` -> `Subversion`。 - 在弹出的对话框中,输入SVN仓库的URL。这个URL可以从SVN管理...
"svn命令大全" SVN(Subversion)是一种版本控制系统,主要用于管理软件开发过程中的代码修改和更新。下面是 Linux 下 SVN 命令大全介绍: 一、checkout 命令 checkout 命令用于将文件从服务器 checkout 到本地...
1. `checkout`:从仓库获取最新代码,命令是`svn checkout URL`,URL指向SVN仓库的位置。 2. `update`:更新本地工作副本到最新版本,命令是`svn update`。 3. `commit`:将本地修改提交到仓库,命令是`svn commit -...
- 找到安装程序,如"TortoiseSVN-x.x.x-xxxxx-win32-svn-x.x.x.msi",双击运行。 - 按照向导指引完成安装,过程中可以选择安装路径、语言等选项。 - 安装完成后,重启电脑,TortoiseSVN将集成到文件资源管理器...
SVN,全称为Subversion,是一种广泛使用的版本控制系统,用于管理源代码和其他文件的更改历史。这个"svn.zip"文件包含的是一个SVN插件,主要用于集成到开发环境中,如STS(Spring Tool Suite)、Eclipse和MyEclipse...
总的来说,"svn.https.tar.ball.zip" 提供了一套完整的Subversion部署环境,包含了所有必要的依赖库,使得用户可以在本地环境中搭建并运行支持HTTPS的Subversion服务器。这对于开发团队在私有网络或互联网上安全协作...
svn checkout 命令用于将文件从版本库 checkout 到本地目录。例如:svn checkout svn://192.168.1.1/pro/domain 2. 往版本库中添加新的文件 svn add 命令用于将新的文件添加到版本库中。例如:svn add test.php...