`
student_lp
  • 浏览: 436625 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

    在上一章中讲述了非Apache模式的svn安装。安装完成svn后,就可以实现svn提交代码同步更新测试环境中的代码了(即实现svn和测试环境的集成)。
    当然,我们在开发中会存在至少三套环境,即:开发自测环境(本地生产环境)、专业测试环境(与正式环境同步)、正式服务环境。要处理好三套环境中的代码管理,这也不是一件很容易的事情,需要根据各公司项目组的安排。我就不讲我们的处理方案了(呵呵保密)。
    下面讲一下SVN与测试环境的集成:
    1、安装完成svn后,创建数据仓储(这些在上一章中讲过了)。以我的为例,我的代码数据仓储的位置为:/opt/svndata/test。
        进入/opt/svndata/test目录后,发现存在一个hooks目录,该目录就是svn钩子函数存储的位置,这是我们本次实现所依赖的。
    2、svn提供多种svn钩子函数供用户扩展实现一定的功能,我们这里采用post-comment钩子函数,实现两个地方的代码同步。即当开发人员自测完成后,提交代码到svn时(comment),同步实现将代码更新到测试环境一份。
    3、最初搭建好svn环境后,将原始项目代码目录更新到测试环境代码位置,执行指令:
        /usr/local/svn/bin/svn checkout       URL      PATH。例如:/usr/local/svn/bin/svn checkout svn://127.0.0.1:3690/test /www
通过以上检出,就可以保证/www中的代码通过svn update来更新了。
    4、在hooks目下,复制一份post-commit.tmpl并重命名为post-commit。然后编辑该文件(post-commit  当用户提交代码时代码提交完成时,svn会自动调用post-commit钩子函数,调用该文件post-commit):vi post-commit;编写内容如下:
--------------------------------------------------------------------------------------------
#!/bin/sh
#Program:
#       This program update "/www" code on user commit
#History:
#       2012/11/07 xxx@xxx.com 1.0

REPOS="$1"
REV="$2"

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

/usr/local/svn/bin/svn update /www/cdstm --username xxx --password xxx
if [ $?==0 ]
then
        echo -e "ok" >> /opt/svnlog/log.txt
else
        echo -e "false" >> /opt/svnlog/log.txt
fi
exit 0
---------------------------------------------------------------------------------------------------------
编辑完成后,保存。然后我们就可以测试了。呵呵。就这么简单。
注意:1、REPOS="$1"  表示svn仓库的绝对路径值,以我为例:/opt/svndata/test
                REV="$2"        表示最新的一个版本号。最后一个版本号
         这两个变量是
post-commit自动接收的。
    2、在这里执行svn指令的时候采用了绝对路径,而不是通过PATH将svn指令的路径包含进来,是为了防止Linux已经自带安装了svn指令。

分享到:
评论

相关推荐

    Jenkins+SVN+Ant持续集成环境配置笔记.pdf

    首先,Eclipse与SVN的集成是持续集成环境搭建的关键第一步。通过Eclipse提交代码到SVN,确保所有开发人员的代码更改都存储在同一个集中式仓库中,便于管理。在Eclipse中集成SVN通常需要借助于外部插件,比如...

    Jenkins+Maven+SVN+Tomcat 持续集成环境快捷部署

    搭建Jenkins+Maven+SVN+Tomcat的持续集成环境,需要按照以下步骤: 1. 环境准备 - JDK1.8.0_131,版本不低于1.7,使用最新版本以获得最佳性能和最新特性。 - Apache Maven 3.3.9,不推荐使用3.5.0版本,以免出现...

    Jenkins+SVN+Ant持续集成环境配置笔记

    ### Jenkins+SVN+Ant持续集成环境配置笔记 #### 一、引言 随着软件开发项目的日益复杂化,持续集成(Continuous Integration, CI)已成为现代软件工程中的一个重要组成部分。通过持续集成,团队能够频繁地集成代码...

    Jenkins+Maven+SVN快速搭建持续集成环境.docx

    通过上述步骤,可以实现 Jenkins 与 Maven 和 SVN 的快速集成,搭建出一套完整的持续集成环境。这不仅提高了开发效率,还保证了代码质量和项目的可持续性。对于团队协作而言,持续集成有助于减少沟通成本,提高整体...

    SVN+Eclipse环境搭建

    下面将详细介绍如何搭建SVN和Eclipse的集成环境。 首先,你需要安装SVN客户端。常见的SVN客户端有TortoiseSVN,它提供了一个直观的图形界面,方便用户进行版本控制操作。下载并安装TortoiseSVN后,可以在文件资源...

    ant学习之集成svn

    标题“ant学习之集成svn”涉及的是在Java项目中使用...总的来说,"ant学习之集成svn"是一个关于如何在Java开发环境中利用Apache Ant工具与Subversion进行有效协作的主题,帮助开发者实现源代码的版本控制和构建自动化。

    SVN客户端和VS集成工具包

    Visual Studio集成工具包,如AnkhSVN或VisualSVN,将SVN的功能整合到Visual Studio环境中,使得开发者无需离开IDE就能执行SVN操作。这些工具提供了如右键菜单选项、源代码差异比较、冲突解决等功能,极大地提高了...

    myeclipse8.5集成SVN

    9. **持续集成**:在公司项目中,集成SVN还可以与持续集成工具如Jenkins、Hudson等配合,自动化构建和测试过程,确保代码的质量。 10. **版本控制策略**:合理利用SVN的特性,如定期提交、代码审查、版本号管理等,...

    Maven+SVN+jenkins集成环境配置

    "集成开发环境配置.docx"文件可能包含了如何配置这些工具的详细步骤,包括安装Maven、设置Maven的环境变量、安装并配置SVN客户端、安装Jenkins、配置Jenkins的SVN插件、创建Jenkins job来监听SVN仓库等步骤。...

    jenkins + svn+maven持续集成

    【Jenkins + SVN + Maven 持续集成】 在软件开发过程中,持续集成(Continuous Integration,简称CI)是一种重要的实践,它...在实际环境中,这些组件可以分布在不同的服务器上,以实现更高效和安全的持续集成环境。

    基于Jenkins-sonar-maven-svn-tomcat的集成部署

    通过以上步骤,我们成功地搭建了一个基于 Jenkins、SonarQube、Maven、SVN 和 Tomcat 的集成部署环境。这不仅有助于自动化软件构建和测试过程,还能够提升代码质量,并实现快速、稳定的软件发布。

    svn 以及集成eclipse的插件

    Eclipse是广泛使用的集成开发环境,通过安装特定的插件,可以方便地在Eclipse中集成svn功能,便于代码版本管理和协同开发。 描述中提到"加压直接安装,不需要特殊配置。svn插件解压后的文件夹直接放到eclipse的安装...

    持续集成环境maven+nexus+jenkins+svn搭建

    持续集成环境是软件开发过程中的一个重要阶段,它通过自动化的方式来构建、测试和部署软件,从而提高软件的质量和开发效率。在这个环境中,Maven、Nexus、Jenkins 和 SVN 等工具都是不可或缺的组件。下面我们将详细...

    myEclipse与svn集成

    6. **持续集成**:对于大型项目,myEclipse与SVN的集成还可以与持续集成工具(如Jenkins)配合,实现自动构建和测试,进一步提高开发效率。 总之,myEclipse与SVN的集成使得开发者能在熟悉的开发环境中轻松地进行...

    svn集成插件

    要将SVN集成到MyEclipse 8.5中,你需要下载与之兼容的SVN插件。这里提供的"site-1.6.10[适用MyEclipse8.5]"正是一个适用于MyEclipse 8.5的SVN插件安装包。接下来,我们将详述安装步骤: 1. **下载插件**:获取"site...

    MyEclipse7.1集成SVN1.6

    本文将详细介绍如何在MyEclipse 7.1中集成SVN 1.6,并通过实际测试验证其可行性。 #### 二、准备工作 在开始集成之前,我们需要准备以下几项工作: 1. **安装MyEclipse 7.1**:确保已经安装了最新版本的MyEclipse...

    Jenkins+Maven+SVN+Tomcat持续集成实战v2.pdf

    创建任务时,需要定义源代码管理的连接信息,指定源代码仓库(如SVN或GIT)、构建触发器、构建环境、构建步骤以及后续的操作如部署和测试等。 3. Maven的安装与配置 安装Maven相对简单,下载Maven的压缩包后解压,...

    Hudson+Maven+SVN 快速搭建持续集成环境

    结合Hudson、Maven和SVN,可以构建出一套高效、自动化的持续集成环境。Hudson负责监听代码变更并启动构建,Maven处理构建过程,而SVN则作为代码版本控制中心。这种组合可以确保团队的代码质量和项目进度,降低集成...

Global site tag (gtag.js) - Google Analytics