您当前的位置:首页 > 知识分享 > 正文网站首页日记
centos搭建svn,并设置钩子同步svn代码到web目录下
发布时间:2019-07-12编辑:leyou阅读()
1、首先安装svn
yum -y install subversion
2、查看是否安装成功,看安装版本
svn --version
3、创建一次总的svn目录
mkdir /usr/local/svnRepo
4、创建svn库,我们创建两个测试的
svnadmin create /usr/local/test1
svnadmin create /usr/local/tes2
5、创建成功后我们可以看到test里会生成几个文件
6、我们切换到conf目录下,将conf目录下的authz和passwd文件复制到创建的svnRepo中
cp ./authz /usr/local/svnRepo
cp ./authz /usr/local/svnRepo
7、进入我们复制后的passwd文件中,添加用用户,保存退出wq
[users]
user1 = 123456
user2 = 123456
8、进入我们复制的authz文件中,修改如下信息,
[groups] #用户组
admins = user1 #用户组中的用户,如果多个可以用英文逗号隔开
test = user2
[test1:/]
@admins = rw
* =
[test2:/]
@admins = rw
* =
9、然后我们再进入的各种项目中的conf文件中,修改svnserve.conf文件,注意删除注释后行前面不能有空格
anon-access = none #匿名用户无权限
auth-access = write #授权用户可写权限
password-db = /usr/local/svnRepo/passwd #这是将用户信息文件设置到总svn目录下
authz-db = /usr/local/svnRepo/authz
realm = /usr/local/svnRepo/test #这是指定你svn的目录,根据自己的svn目录修改
10、通过以上步骤svn就配置成功了,启动svn
svnserve -d -r /usr/local/svnRepo/
11、下面我们就要位置svn钩子了,即将svn提交的数据同步的web路径下
进入创建的svn项目目录下的hooks文件中
创建一个post-commit文件
vim post-commit
直接将下面的代码复制到文件中
#!/bin/sh
REPOS="$1"
REV="$2"
SVN_PATH=/usr/bin #这是svn的安装路径
WEB_PATH=/www/wwwroot/test.******.com #这就是你项目的根目录
SVN_USER=user1 #svn用户名
SVN_PASS=123456 #svn用户的密码
WEB_USER=www
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
chown $WEB_USER.$WEB_USER -R $WEB_PATH
12、将上面的代码复制到你创建的post-commit文件中即可
13、给创建的post-commit分配权限
chmod 777 post-commit
14、将文件权限附给www用户
chown www:www /usr/local/svn/svnrepos/test2/hooks/post-commit
15、进入你创建的项目目录下检出项目,这步骤如果不操作可能会不能同步将svn中提交的文件更新到项目中,网上很多教程都没有这步,对我开始使用时也造成了很大的麻烦
svn co svn://localhost/test1 ./
16、在客户端安装svn,检出,路径svn://你的服务器id/test1,输入账号密码即可检出更新提交了
17、测试是否同步的代码到web目录中,,如果是使用的云服务器请开启3690端口
关键字词:svn,centos,linux搭建svn
上一篇:php正则匹配中文字符
下一篇:tp5开启定时任务,linux