CentOS SVN 环境搭建配置跟自动部署

一。安装 subversion 并创建版本库#

1. 安装 subversion#

yum -y install  subversion

安装成功后查看版本号:
svnserve --version

2. 创建版本库#

a. 创建目录
mkdir /var/svn

b. 创建版本库
svnadmin create /var/svn/repository

c. 查看创建情况
cd /var/svn/repository
ll

二。配置基础信息#

注意:所有的配置项都需要顶格,即前面不能预留空格,否则报错

cd /var/svn/readerstar/conf

1. 配置 SVN 服务综合配置文件 svnserve.conf#

vim svnserve.conf

配置以下内容:

anon-access = read/none #匿名用户可读/不可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn/repository #认证空间名,版本库所在目录

2. 配置用户组#

vim authz

 [groups]

admin = hongcoo,hello

#admin用户组 hongcoo 用户

[weixin:/]
@admin = rw

#用户组admin对repository库有读写权限

3. 配置用户名密码#

`vim passwd`
[users]
hongcoo = hongcoo

4. 启动 svn#

svnserve -d -r /var/svn/repository

检查服务是否启动成功
ps aux | grep svn

通过 netstat 可以看到 SVN 打开了 3690 端口
netstat -tnlp

设置成开机启动
systemctl enable svnserve.service

5. 测试项目情况#

svn co svn://localhost/repository

三。配置 svn 更新自动同步到 web 目录#

1. 先执行 checkout#

svn co svn://localhost/weiqing /home/www/repository --username libin --password libin123

2. 建立 post-commit 文件#

cd /var/svn/repository/hooks

cp /var/svn/readerstar/hooks/post-commit.tmpl /var/svn/readerstar/hooks/post-commit

vim /var/svn/readerstar/hooks/post-commit

配置内容:

REPOS="$1"
REV="$2"

export LANG=zh_CN.UTF-8

SVN_PATH=/usr/bin/svn
WEB_PATH=/home/www/weixin.com
LOG_PATH=/tmp/svn_update.log

$SVN_PATH update $WEB_PATH  --username libin  --password libin123  --no-auth-cache

修改 post-commit 用户为 www 目录用户
chown www:www post-commit

chmod +x post-commit

本作品采用《CC 协议》,转载必须注明作者和本文链接
高度自律,深度思考,以勤补拙
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。