使用svnant结合svn进行项目构建

     使用ant可以进行项目构建,而在svn环境下进行项目自动构建则需要使用svnant来对源码进行操作。本例以从svn服务器上签出代码,在本地编译、执行为例说明svnant的操作。要执行以上操作,需要安装ant、带命令行的svn客户端和svnant。使用TortoiseSVN不可以,因为他没有svn可执行文件。

建立的build.xml文件如下:

<?xml version="1.0"?>
<!-- Sample build file used to retrieve svnant's sources -->
<project name="svn-test" basedir="."default="run">
 
  <!--  all properties are in build.properties -->
  <propertyfile="build.properties" />
 
  <!-- path to the svnantlibraries. Usually they will be located in ANT_HOME/lib -->
  <path id="project.classpath">
    <pathelementlocation="${svnjavahl.jar}" />
    <pathelementlocation="${svnant.jar}" />
    <pathelementlocation="${svnClientAdapter.jar}" />
  </path> 
 
  <!-- load the svn task-->
  <taskdefresource="svntask.properties" classpathref="project.classpath"/>
         <targetname="delete" depends="checkoutLatest">
                  <deletedir="bin" includes="*"/>
                  <deletedir="output" includes="*"/>
         </target>
         <targetname="compile" depends="delete">
                  <javacdestdir="bin" srcdir="src" includeantruntime="on"/>
         </target>
        
         <targetname="jar" depends="compile">
                  <jardestfile="output/hello.jar" basedir="bin"/>
         </target>
 
         <targetname="run" depends="jar">
                  <javadir="bin" classname="hello" classpath="bin"/>
         </target>
  <targetname="checkoutLatest">
    <svnusername="${svnant.repository.user}"password="${svnant.repository.passwd}">
      <checkouturl="${svnant.latest.url}" revision="HEAD"destPath="." />
    </svn>
  </target>
</project>

可以看出,上述文件最先开始执行checkout命令,从资源库中检出新的代码,随后执行删除命令,清除了output和bin文件夹中的内容,随后执行编译、打包命令,最后执行上述代码生成的最新结果。执行结果为:


以上代码引入了一个配置文件build.properties,其内容如下:

svnant.version=1.0.0
lib.dir=lib
svnant.jar=${lib.dir}/svnant.jar
svnClientAdapter.jar=${lib.dir}/svnClientAdapter.jar
svnjavahl.jar=${lib.dir}/svnjavahl.jar
 
svnant.latest.url=svn://192.168.195.54/hello/
 
svnant.repository.user=gongqingkui
svnant.repository.passwd="123"

上述文件定义了连接到SVN服务器的用户名密码和地址信息。

使用以上配置,再加上自动执行脚本,可以执行每日构建等工作。

Ps:在检出代码时,如果提示Cannot use javahl nor command line svn client,那么可能是因为没有svn可执行文件,或者javahl.jar文件导致。一般安装带命令行的svn客户端,或者将svnant下的javahl.jar拷贝到antd的lib下。本例中安装了subversion的服务器,他其中带有svn的可执行客户端。

 PS:本文使用svnant比较复杂,可以参考svn的exec指令如:

<target name="build">
		<exec executable="svn">
			<arg line=" checkout svn://127.0.0.1/userview/trunk userview"/>
		</exec>
		<ant antfile="build.xml" dir="userview" target="test"/>
	</target>

      可以实现从svn下载代码等功能。


阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
使用 SVN 拉取项目,需要首先安装 SVN 客户端,并且确保你有项目SVN 仓库的访问权限。以下是使用 SVN 拉取项目的一般步骤: 1. 安装 SVN 客户端:你可以从 SVN 的官方网站(https://subversion.apache.org)下载适合你操作系统的 SVN 客户端,并按照安装说明进行安装。 2. 创建工作副本:在你的本地计算机上选择一个目录作为工作副本,这将是你在本地进行项目开发的地方。 3. 检出项目使用 SVN 的 `checkout` 命令来检出项目。在命令行中进入到你选择的工作副本目录,并执行以下命令: ``` svn checkout <仓库URL> ``` 其中,`<仓库URL>` 是项目SVN 仓库的 URL,你可以从项目管理员或者团队成员那里获取。 4. 输入凭据:当你执行 `checkout` 命令时,系统可能会提示你输入用户名和密码来验证你对项目的访问权限。请按照提示输入正确的凭据。 5. 等待完成:SVN 将会下载项目的所有文件和文件夹到你的工作副本目录中。这可能需要一些时间,具体取决于项目的大小和你的网络速度。 6. 更新项目:在你拉取项目后,如果其他团队成员对项目进行了修改并提交到 SVN 仓库,你可以使用 `svn update` 命令来更新你的工作副本,以获取最新的修改。在命令行中进入到工作副本目录,并执行以下命令: ``` svn update ``` 这样,你就可以使用 SVN 拉取项目进行开发了。请记住,SVN 是一种集中式版本控制系统,所以每次修改文件后,你都需要使用 SVN 的相应命令(如 `svn commit`)将修改提交到 SVN 仓库中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gongqingkui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值