linux自整理SVN搭建及与站点根目录实现钩子同步

一,当使用了svn版本控制系统后每个目录下都会有一个.svn目录存在,开发完当交付产品或者上传到服务器时一般要把这些目录删除。

find . -type d -name ".svn"|xargs rm -rf

二,开始搭建SVN服务

1,mkdir /www/svndata                 //建立版本库目录

svnserve -d -r /www/svndata/

2,svnadmin create /www/svndata/site              //创建一个新的Subversion项目

3,修改配置

cd /www/svndata/site/conf/

配置允许用户访问

vi svnserve.conf

anon-access=none

auth-access=write

password-db=passwd

注:修改的文件前面不能有空格,否则启动svn server出错

配置密码文件

vim passwd

[users]

# harry = harryssecret

# sally = sallyssecret

appteam = app123

manager = manager

配置登录认证文件

vi authz

[groups]

appm = appteam,manager

[/]

@appm = rw

* = r

或者直接最后添加

[/]

appteam = rw

4,测试》》》

[[email protected] ~]# svn co svn://localhost/site

取出版本 0。

5,实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中

1)设置WEB服务器根目录为/usr/local/nginx/html/site(我的默认nginx目录)

2)checkout一份SVN

svn co svn://localhost/site /usr/local/nginx/html/site

修改权限为WEB用户

chown -R www:www /usr/local/nginx/html/site

3)建立同步脚本

cd /www/svndata/kaifa/hooks/

hooks(钩子)文件说明:

# start-commit 提交前触发事务

# pre-commit 提交完成前触发事务

# post-commit 提交完成时触发事务

# pre-revprop-change 版本属性修改前触发事务

# post-revprop-change 版本属性修改后触发事务

cp post-commit.tmpl post-commit

编辑post-commit,在文件最后添加以下内容

复制代码

REPOS="$1"

REV="$2"

BASEPATH=/var/www/html/kaifa

WEBPATH="$BASEPATH/"

export LANG=zh_CN.UTF-8

svn update $WEBPATH --username appteam --password app123 --no-auth-cache

echo `date`,`whoami`,$REPOS,$REV >> /www/svndata/site/hooks/svn_hook.log

增加脚本执行权限

chmod +x post-commit

最后操作是关闭服务然再打开服务:

svn服务的关闭:

killall svnserve

svn开启:

svnserve -d -r /www/svndata

测试:svn  checkout  svn://localhost/site

修改端口

svnserve -d -r 项目路径 --listen-port 21

SVN自动同步程序执行流程:

1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本

2、在post-commit版本文件中使用php_script.php执行PHP脚本

3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本

4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理

时间: 2024-10-11 13:46:29

linux自整理SVN搭建及与站点根目录实现钩子同步的相关文章

PHP获取站点根目录

1 将下面的代码放在网站根目录下的一个文件中,以便在其它文件中引用. 2 3 路径方式: 4 5 define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/"); 6 7 echo BASE_PATH; 8 9 10 11 输出结果:E:/wwwroot/ 12 13 url方式: 14 15 16 17 $PHP_SELF=$_SERVER['PHP_SELF']; 18 19 $url='h

Linux SVN 搭建(YUM)安装

http://www.centoscn.com/CentosServer/ftp/2014/0202/2409.htmlLinux SVN 搭建(YUM)安装 安装说明系统环境:CentOS-6.2安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件一.Linux svn服务端配置检查已安装版本#检查是否安装了低版本的SVN[[email protected] /]#rpm -qa subversion#如果存储旧版本,卸载旧版本SVN[[emai

linux下svn 搭建

linux 下SVN搭建加自动提交更新到指定目录 一.安装 #yum install subversion    yum安装SVN #mkdir -p /opt/svn/repos    创建svn目录 #svnadmin create /opt/svn/repos  生成SVN配置文件 二.编辑配置文件 #vim /opt/svn/repos/conf/passwd [users]# harry = harryssecret# sally = sallyssecretnxeon = 123用户

linux下苦逼搭建ftp站点二三事

昨天中午,领导突然扔给我一台linux服务器,让我给某个站点目录配置个ftp服务 权限可上传.可下载.令其无法跳转上级目录 我想这简单啊,于是我按照固定的四维,useradd.passwd.修改conf文件.修改权限,最后restart 结果就傻逼了,一直连接不上,报530错误,我更傻逼的做法一直在创建.删除用户 - -|| 在百度苦苦寻求答案的我,无意中看见一片博文关于配置vsftp虚拟用户配置 它的vsftp目录结构和我这台服务器上的一样,包括好多文件像txt.db 这才发现原来使用的这个方

Linux系统下的SVN搭建

一.安装步骤 0.验证是否有svnserver (svnserve --version)1.安装svnserver (yum install -y subversion)2.验证是否安装成功 (svnserve --version)3.进入到svn的资源目录 (cd /home/svndir)4.创建svn资源库 (svnadmin create myProject)5.新增用户 6.配置用户权限 7.配置资源库权限 8.启动或者重启 9.测试 二.详细步骤 1.检查是否已安装 svnserve

华为云、Linux 下安装SVN 服务端。

日常学习,Linux 下的 SVN服务器搭建,并记录. 1. 安装subversion : 使用yum安装非常简单: 1 #安装subversion 2 [[email protected] ~]# yum install subversion 运行命令后,与svn 有依赖关系的软件 都会被安装. 最后显示 “完毕”  .subversion 就安装完成了!!! 1 ....... 2 已安装: 3 subversion.x86_64 0:1.7.14-11.el7_4 4 5 作为依赖被安装:

linux下apache服务搭建

实验拓扑:                          Linux Client -----RHEL5.9(vmnet1)----------(vmnet1)                          Win7 Client 实验一:查看默认HTTP配置     找到默认红帽欢迎页面 (/etc/httpd/conf/httpd.conf ---->Include ----> /etc/httpd/conf.d  ----> welcome.conf  ----> /

linux下gdal的搭建

[源码编译] 前期准备: 确认电脑上安装好g++等开发环境,否则执行 sudo apt-get install build-essential 2.  确认电脑上已经安装好svn以便下载最新的源代码,否则执行 sudo apt-get install subversion 3.  确保proj4的安装 $ curl -O http://download.osgeo.org/proj/proj-4.8.0.tar.gz $ tar xvfz proj-4.8.0.tar.gz $ cd proj-

在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! 依次