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

  • 一 搭建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
  • 添加文件,提交,查看同步情况

你可能感兴趣的:(Linux)