svn 版本管理与自动部分发布(转)

作为团队开发项目时,会遇到项目的版本管理,测试部署与发布部署,下面是摘至他人的关于版本管理和自动部署的方案。

svn自动部署的实现:

使用svn的hook功能

1、在版本库的hooks目录下面,有一些基于事件触发的执行脚本,比如post-commit, 去掉后缀.tmpl 
2、编辑svn代码库服务器上文件: svn/test/hooks/post-commit

#!/bin/sh
REPOS="$1"
REV="$2"
export PATH="/usr/local/svn/bin:$PATH"  #由于代码是apache的进程用户www运行,所以需要设置环境变量
export LC_CTYPE=en_US.UTF-8             #防止提交的文件名存在非字母字符。
if (svnlook log -r $REV /home/http/repository/svn/test | grep "auto_deploy" )  #当用户提交时注释中写上"auto_deploy"的时候,就自动部署到apache目录,否则不部署。
then
  echo "`date` ‘auto depoly command received" >> /tmp/test_svnautocommit.txt   #这一行仅作调试使用
  svn export "http://192.168.16.48/repo/svn/test/trunk/test_website"  /home/http/html/test_website  --force
fi

3、 在客户端测试,并且要在comment中加入 auto_deploy,否则不会触发自动部署的操作

参考:

[1] SVN本地开发、测试环境版本控制-自动发布生产环境[2014-10-08].http://www.open-open.com/lib/view/open1376871583553.html

时间: 2024-11-13 05:17:28

svn 版本管理与自动部分发布(转)的相关文章

svn 版本管理与自动部分发布

作为团队开发项目时,会遇到项目的版本管理,测试部署与发布部署,下面是摘至他人的关于版本管理和自动部署的方案. svn自动部署的实现: 使用svn的hook功能 1.在版本库的hooks目录下面,有一些基于事件触发的执行脚本,比如post-commit, 去掉后缀.tmpl 2.编辑svn代码库服务器上文件: svn/test/hooks/post-commit #!/bin/sh REPOS="$1" REV="$2" export PATH="/usr/

在linux服务器上装svn版本管理,自动部署代码到项目

在linux服务器上装svn版本管理,自动部署代码到项目 http://bbs.aliyun.com/read/9715.html?spm=5176.7114037.1996646101.1.W3zw3X&pos=1 http://v5sheji.com/archives/setupsvnonlinux.html 1.安装svn服务器端  yum install subversion 从镜像下载安装svn服务器端 中间会提示是否ok,输入y,确认 安装成功提示:.....complete! 依次

企业SVN版本管理与代码上线方案

1.SVN服务实战 1) 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Svn版本管理工具管理着随时间改变的各种数据.这些数据放置在一个中央资料档案库(repository)中,这个档案库很像一个普通的文件服务器或者FTP服务器,但是,与其他服务器不同的是,SVN会备份并记录每个文件每一次的修改更新变动.这样我们就可以把任意一个时间点的档案恢复到想要的某一个旧的版本,当然也

ant+svn+tomcat实现自动构建

前段时间用做了一个简单的web api服务,在调试的过程中感觉到手动发布实在是效率低而且容易出错,于是花点时间搞了一下ant+svn+tomcat的自动构建,效果不错,今天拿出来分享一下. 准备工作 SVN服务器:VisualSVN-Server-2.5.8.msi,这windows下比较好用的一个svn服务端,安装和配置都很简单. Ant: Ant 1.7(我用的比较老的版本). Ant插件:svnant1.3(http://subclipse.tigris.org/svnant.html),

通过Git WebHooks+脚本实现自动更新发布代码之shell脚本

前文讲述了<通过Git WebHooks+脚本实现自动更新发布代码>,里面提供了一种自动更新发布代码的脚本编写思路.本文的脚本与前文中的思路不太不同.本脚本以capistrano中的一些思想和理念为依据,用简单好理解的shell脚本实现capistrano原本实现的自动化部署部分. 脚本的一些特点和功能: 解决脚本的符号链接问题,准确获取脚本工作目录(从tomcat脚本中学到): 颜色显示,不同级别的信息用不同的颜色显示(共两种方案,前一种从一位不知名的国外工程师处得到,后一种从lnmp1.2

svn版本管理工具的安装及使用

一.实验环境VMware 10.RedHat5.6 1.服务器端:Redhat 5.6 subversion                             i386                      1.6.11-7.el5               subversion-devel                       i386                      1.6.11-7.el5               subversion-javahl     

Jenkins自动部署发布Java代码(完整教程)

一.需求 Jenkins大多数情况下都是用来部署Java项目,上一篇博客已经写了自动打包Java项目,但在现实应用中,Jenkins很强大的,可以做到自动打包发布Java项目.这篇文章,将引导大家完成完整的Java项目(自动发布代码功能)! 二.实验环境 三.实验步骤 1.搭建tomcat 服务(在192.168.22.129服务器上) (1)先安装jdk1.8 jdk和tomcat 下载地址: https://pan.baidu.com/s/1URk88Tp2Io0eUEMo1WpoCg 提取

SVN配置以及自动部署到apache虚拟目录

SVN配置以及自动部署到apache虚拟目录 一.VisualSVN server 服务端和TortoiseSVN客户端下载 VisualSVN下载:http://subversion.apache.org/packages.html 页面最下方就可以找到(下图紫色链接) TortoiseSVN下载:http://tortoisesvn.net/downloads.html 下载的地方很醒目,有32位和64位 紧接着下边有语言包下载 二.VisualSVN server和TortoiseSVN安

实用svn主干trunk自动merge到各个分支branch脚本

实用svn主干trunk自动merge到各个分支branch脚本 大多数使用svn的公司,当发现bug时或新功能时,会从主干trunk直接产生一个分支branch,如叫bug01.接着同事A修改里面的bug,如果测试通过,就提交分支,将分支bug01合并到主干,并解决冲突和主干保持一致.同事B也拉了个分支bug02,他也修改了,也测试通过,就提交分支,将分支bug02合并到主干,并解决冲突和主干保持一致.理论上没有任何问题. 问题出现 但是有这样一个情况,同事A修改完就提交分支,合并到主干解决冲