您现在的位置是:首页 >技术交流 >CentOS上搭建SVN并自动同步至web目录网站首页技术交流

CentOS上搭建SVN并自动同步至web目录

Wandering in Houhai 2020-01-12 15:45:01
简介svn使用post-commit实现自动部署,自动checkout.搭建svn都不是仅仅为了把代码存到仓库,而是同步部署到对应的项目。

一、搭建svn环境并创建仓库:

1、安装Subversion:

yum install svn

2、创建版本库:

//先建目录 
cd /www 
mkdir wwwsvn 
cd wwwsvn //创建版本库 
svnadmin create xiangmumingcheng

二、创建用户组及用户:

1、 进入版本库中的配置目录/www/wwwsvn/xiangmumingcheng/conf,此目录有三个文件: svn服务综合配置文件(svnserve.conf)、 用户名口令文件(passwd)、权限配置文件(authz)。

2、修改权限配置文件:vim authz

[/] 
* = rw

3、配置用户名命令文件:vim passwd

zhanghao = mima

4、配置SVN服务综合配置文件svnserve.conf

anon-access = none //匿名用户访问权限:无 
auth-access = write //普通用户访问权限:读、写 
password-db = passwd //密码文件 
authz-db = authz //权限配置文件

5、启动svn服务:

svnserve -d -r /www/wwwsvn/

三、实现svn更新自动同步到web目录:

1、 进入版本库中的钩子目录/www/wwwsvn/xiangmumingcheng/hooks

cp post-commit.tmpl post-commit //复制post-commit.tmpl 改名为post-commit

2、写入以下内容

#!/bin/sh #用sh来解析这个脚本 
export LANG=zh_CN.UTF-8 #编码格式 
SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件 
WEB=/www/wwwroot/xiangmumingcheng #要更新的目录 
$SVN update $WEB --username zhanghao --password mima

3、修改post-commit的可执行权限

chmod 755 post-commit

4、在服务器进入项目目录/www/wwwroot checkout 整个项目。

svn co svn://127.0.0.1/xiangmumingcheng
梦想加空间!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。