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

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- #防止提交的文件名存在非字母字符。
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

svn 版本管理与自动部分发布的更多相关文章

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

    作为团队开发项目时,会遇到项目的版本管理,测试部署与发布部署,下面是摘至他人的关于版本管理和自动部署的方案. svn自动部署的实现: 使用svn的hook功能 1.在版本库的hooks目录下面,有一些 ...

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

    在linux服务器上装svn版本管理,自动部署代码到项目 http://bbs.aliyun.com/read/9715.html?spm=5176.7114037.1996646101.1.W3zw ...

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

    在linux服务器上装svn版本管理,自动部署代码到项目 1.安装svn服务器端  yum install subversion   从镜像下载安装svn服务器端 中间会提示是否ok,输入y,确认  ...

  4. svn版本管理与上线

    1.1 SVN介绍 1.1.1 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统 ...

  5. Jenkins搭建.NET自动编译发布本地环境

    最近在做一个团队项目的时候,用到了自动编译发布部署环境[也可以说是持续集成],于是顺便学习了下这个环境的搭建过程. 持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员 ...

  6. Linux实战教学笔记41:企业级SVN版本管理与大型代码上线方案

    第1章 SVN服务实战应用指南 1.1 SVN介绍 1.1.1 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN ...

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

    1.SVN服务实战 1) 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Sv ...

  8. SVN版本管理与大型代码上线方案(一)

    SVN版本管理与大型代码上线方案(一) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操 ...

  9. .NET代码自动编译发布

    .NET代码自动编译发布   因本人一直使用.NET开发,在做项目的时候,每次都要涉及到各个环境的部署问题,手工操作容易出错,并且重复劳动多,所以一直在寻找一个能实现自动化部署的方案. 废话不多讲,先 ...

随机推荐

  1. linux之间文件传输(之scp)

    linux的scp命令 linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录: ==================scp 命令==================scp 可以 ...

  2. MySQL复制的管理和维护

    1.查看主库 mysql> show master status; mysql> show master status; +------------------+-----------+- ...

  3. 从android aidl理解Proxy/stub模式

    在小7写的上一篇文章<android IPC通信机制梳理>里,我讲到了如果activity要想和一个跨进程的Service进行通信就需要通过Binder框架,获取到IBinder对象,并调 ...

  4. SharePoint 2013 Farm 安装指南——构建一个双层SharePoint Farm

    最近要对公司里的SharePoint进行升级,由于旧的系统SharePoint 2010已经有2年了,上面改动比较多,而且权限也很混乱了,所以下定决心要对其做一次升级,重新部署一台新的SharePoi ...

  5. Javascript MVC 学习笔记(一) 模型和数据

    写在前面 近期在看<MVC的Javascript富应用开发>一书.本来是抱着一口气读完的想法去看的.结果才看了一点就傻眼了:太多不懂的地方了. 仅仅好看一点查一点,一点一点往下看吧,进度虽 ...

  6. 基于TransactionScope类的分布式隐式事务

    System.Transactions 命名空间中除了上一节中提到的基于 Transaction 类的显式编程模型,还提供使用 TransactionScope 类的隐式编程模型,它与显示编程模型相比 ...

  7. JavaScript 循环:如何处理 async/await

    如何串行或者并行运行异步循环? 在使用循环处理异步的魔法之前,我们先来看下我们是怎么处理同步循环的. 同步循环 很久以前我写的循环是这样的: for (var i = 0; i < array. ...

  8. ubuntu 安装python mysqldb

    sudo apt-get install python-mysqldb #!/usr/bin/python #-*-coding:utf-8-*- ''' This file include all ...

  9. jQuery学习笔记(DOM操作)

    DOM操作的分类 一般来说,DOM操作分为3个方面,即DOM Core.HTML-DOM和CSS-DOM. 1. DOM Core DOM Core并不专属于JavaScript,任何一种支持DOM的 ...

  10. 禁用 Windows 启动时错误恢复的“启动启动修复(推荐)”

    bcdedit /set {default} bootstatuspolicy ignoreallfailures bcdedit /set {current} recoveryenabled No