svn上线运用(三)

一、小公司开发提交代码上线图

二、钩子脚本

钩子脚本只干两件事,1是svn项目的内容同步到本地的/data/www目录下;2通过rsync把/data/www的内容推到/tmp上,由于是在本机测试故放在/tmp下,如果在线上生产,会写上对方面web服务器IP地址:某个目录下

[[email protected] hooks]# pwd

/application/svndata/sadoc/hooks

[[email protected] hooks]# ll

-rw-r--r-- 1 root root 1977 6月  15 16:42 post-commit.tmpl

-rw-r--r-- 1 root root 1638 6月  15 16:42 post-lock.tmpl

-rw-r--r-- 1 root root 2289 6月  15 16:42 post-revprop-change.tmpl

-rw-r--r-- 1 root root 1567 6月  15 16:42 post-unlock.tmpl

-rw-r--r-- 1 root root 3426 6月  15 16:42 pre-commit.tmpl

-rw-r--r-- 1 root root 2410 6月  15 16:42 pre-lock.tmpl

-rw-r--r-- 1 root root 2786 6月  15 16:42 pre-revprop-change.tmpl

-rw-r--r-- 1 root root 2100 6月  15 16:42 pre-unlock.tmpl

-rw-r--r-- 1 root root 2780 6月  15 16:42 start-commit.tmpl

[[email protected] hooks]# cp post-commit post-commit.bak

[[email protected] hooks]# vim post-commit

PEPOS="$1"

REV="$2"

export LANG=en

#update content from svn

SVN=/usr/bin/svn

$SVN update --useranme qingyun --password 168 /data/www

if [ $? -eq 0 ]

then

/usr/bin/rsync -az --delete /data/www /tmp/

fi

REPOS="$1"

[[email protected] hooks]# # mkdir -pv /data/www

把svn项目的内容同步到本地的/data/www目录下

[[email protected] hooks]# svn co svn://192.168.1.220/sadoc --username qingyun --password 168 /data/www

A    /data/www/trunk

A    /data/www/trunk/test

A    /data/www/trunk/test/tom.rar

A    /data/www/trunk/test/tom.txt

A    /data/www/lession001.txt

A    /data/www/lession002.txt

A    /data/www/branch

A    /data/www/tags

三、测试

1、客户端D:\oldboy\trunk下建个文件love

2、回到SVN服务器

[[email protected] hooks]# tree /data/www

/data/www

├── branch

├── lession001.txt

├── lession002.txt

├── tags

└── trunk

└── test

├── 123.txt

├── jerrry.txt

├── love.txt

└── tom.txt

[[email protected] hooks]# tree /tmp

/tmp

├── 0452.log

├── 04S.log

├── 0644.log

├── 1224.log

├── 1548.log

├── lost+found

└── www

├── branch

├── lession001.txt

├── lession002.txt

├── tags

└── trunk

└── test

├── 123.txt

├── jerrry.txt

├── love.txt

└── tom.txt

时间: 2024-08-03 23:12:38

svn上线运用(三)的相关文章

App Store审核上线的三个技巧

怎么使APP在App Store上顺利通过审核并上线?现在请看笔者为您带来的App Store审核上线的三个技巧. 1.必须是先上App Store,再上其他应用市场 为啥要这样做?因为app store的审核很严格,如果app名字取得没节操一点,有可能被拒绝,那么就只能给app改名.如果先上了其它应用市场,但在app store里却把应用改名了,那么就会失去了很多用户. 举个例子,"约你妹"这个app,当初爆发的时候,用的app名字是"约你妹",结果在上App S

MyEclipse6.5安装SVN插件的三种方法z

一.安装方法: 方法一.如果可以上网可在线安装   1. 打开Myeclipse,在菜单栏中选择Help→Software Updates→Find and Install;   2. 选择Search for new features to install,点击Next进入下一步;   3. 点击"New Remote Site"按钮,在弹出的对话框中输入:   name:SVN   url:http://subclipse.tigris.org/update_1.4.x   点击O

分享一个生产环境中利用SVN上线代码的脚本

本文讲述的是利用SVN+RSYNC上线代码的生产案例,适用于小型公司及企业,让运维从频繁的上线代码中解脱出来.以下对应的web服务器也适用于Windows服务器及Linux服务器 REPOS="$1" REV="$2" export LANG=zh_CN.UTF-8 export RSYNC_PASSWORD=RSYNC_PASSWORD RSYNC_USER=RSYNC_USER PROJECT_NAME=`basename $REPOS` SVN_DIR=/sv

MyEclipse6.5安装SVN插件的三种方法

一.安装方法: 方法一.如果可以上网可在线安装 1. 打开Myeclipse,在菜单栏中选择Help→Software Updates→Find and Install; 2. 选择Search for new features to install,点击Next进入下一步; 3. 点击"New Remote Site"按钮,在弹出的对话框中输入: name:SVN url:http://subclipse.tigris.org/update_1.4.x 点击OK,关闭对话框,并点击F

SVN学习笔记三——钩子的应用

钩子脚本的具体写法就是操作系统中shell脚本程序的写法,请根据自己SVN所在的操作系统和shell程序进行相应的写作所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化属性的修改.每个钩子都会被告知足够多的信息,包括那是什么事件,所操作的对象,和触发事件的用户名.通过钩子的输出或返回状态,钩子程序能让工作继续.停止或是以某种方式挂起. 所以钩子实际上是一个能够针对svn的操作触发特定操作的脚本,其实看一下其中的模板可以知道,钩子也是shell脚本,通过这些脚本来完成一些我

SVN学习(三)——在Eclipse 中安装和使用SVN客户端插件

0 基本概念了解 0.1 SVN的工作原理:采取客户端/服务器模式——在服务器的版本库中保存项目文件的各个版本,所有参与协同开发的程序员在自己本地电脑上保存一个工作副本.SVN支持程序员将本地副本更新到服务器端的最新版本,也支持将本地副本的最新改变更新到服务器端,而且后面的更新不会覆盖前面的更新,而是作为一个新的版本被保存下来——SVN甚至支持将本地工作副本恢复为服务器端保存的某一个历史版本. 0.2 SVN基本操作 ①检出(checkout):将一个服务器端创建好的项目整个下载到本地,这是到项

svn 调用脚本(三)

#!/bin/bash #example: #usrname='svnuser' #passwd='svnpassword' #svn_link="http://url/svn_dir" #svn_dir="target_dir" usrname=$1 passwd=$2 svn_link=$3 svn_dir=$4 svn_flag=".svn" cmd=$(rpm -qa|grep "expect") if [ $? -n

SVN版本管理与代码上线架构方案

SVN是Subversion的简称,是一个开放源代码的版本控制系统,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器.你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改.这就是为什么许多人将 Subversion 和版本控制系统看作一种"时间机器".说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的. svn与git的区别svn   svn版本控制系统是集中式的数据管理,

svn学习之一(svn独立服务器搭建)svn钩子了解

SVN实战笔记#####################################################xingxing qq:1218761836 qq群:150181442##################################################### SVN实战  目录SVN实战    1一.SVN简介    1二.SVN运行方式    12.1 svn的访问模式3种    1三.SVN数据格式    23.1 svn 档案库数据格式    2四.