您的位置:首页 > 运维架构 > 网站架构

Centos6.5 搭建 SVN 服务器 及 钩子同步更新网站代码

2015-10-30 20:42 651 查看
一 搭建SVN服务器
1 Yum 安装 svn

2 创建测试版本库

3 配置开发用户组

二 配置hook同步更新
1 创建网站根目录

2 检出版本库

3 建立同步脚本

三 启动SVN 及 测试
1 启动svn服务

2 测试同步

一、 搭建SVN服务器

1、 Yum 安装 svn

yum install subversion -y


2、 创建测试版本库

# 创建项目存放目录
mkdir /svn/kfc

# 使用 svnadmin 命令创建项目
svnadmin create /svn/kfc

# 项目创建成功
[root@localhost /]# ls /svn/kfc
conf  db  format  hooks  locks  README.txt


3、 配置开发用户组

这里以添加用户admin 为例

[root@localhost kfd_en]# vim /svn/kfc/conf/authz

# 添加 开发用户组coder
[groups]
coder= admin

# 添加coder组读写权限
[/]
@coder = rw


二、 配置hook同步更新

1、 创建网站根目录

必须切换为 nginx 运行用户

以下 nginx 运行用户为 www 为例

# 切换为 www 用户
su - www

# 创建网站代码存放目录
mkdir /data/web/


2、 检出版本库

# 检出版本库到网站根目录
svn checkout svn://localhost:/kfc

# 检出成功
[root@localhost /]# ls /data/web/kfc
kfc


3、 建立同步脚本

hooks(钩子)文件说明:

start-commit

提交前触发事务

pre-commit

提交完成前触发事务

post-commit

提交完成时触发事务

pre-revprop-change

版本属性修改前触发事务

post-revprop-change

版本属性修改后触发事务

# 复制post-coimmit文件
cd /svn/kfc/hooks/
cp post-commit.tmpl post-commit

# 添加执行权限
chmod 755 post-commit

# 添加 同步命令
[root@localhost hook]# vim post-commit

#!/bin/bash
export LANG=en_US.UTF-8
/usr/bin/svn update --force /data/web/kfc


三、 启动SVN 及 测试

1、 启动svn服务

以下配置都是在原文件基础上修改

su - www -c 'svnserve -d -r /svn/'


2、 测试同步

本地检出版本库 地址 svn://x.x.x.x:/kfc

添加文件,提交,查看同步情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: