搭建SVN服务端
>yum -y install subversion
>rpm -ql subversion
>mkdir /var/svn/svnrepos
>svnadmin create /var/svn/svnrepos/xxxx (xxxx为你预期的版本库名称,可自定义)
>cd /var/svn/svnrepos/xxxx
cd /var/svn/svnrepos/xxxx/conf
三个配置文件,分别都要修改
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
1.svnserve.conf 文件里边取消部分注释(注释前不能有空格)
anon-access = read
auth-access = write
password-db = passwd
realm = My First Repository
2.passwd 文件里边需要新增用户
AAAA = AAAA(账号密码)
。。。
3.authz 文件里边需要给用户绑定权限
[\]
AAAA = rw
...
保存退出
开启相关svnserve 的防火墙端口
重启防护墙并启动svnserve服务 -> svnserve -d -r /var/svn/svnrepos/
部署完成!!!
绑定web目录并自动更新(原理是 通过svn仓库里的hook钩子事件模板。在post-commit文件里设置一个客户端更新到指定web目录(svn检出目录)可完成自动更新)
具体操作:
1.指定web目录
>cd /www/wwwroot/
eg: svn co svn://localhost/XXXX 。。。。svn co 是 check out检出
>svn co svn://yourserverip/XXXX
>cd /var/svn/svnrepos/XXXX/hooks
>mv post-commit.tpml post-commit
>vi post-commit
>末尾删除那些非注释数据,并新增一下内容
WEB_PATH=/www/wwwroot/XXXX
export LANG='en_US.utf8'
/usr/bin/svn update $WEB_PATH --username AAAA --password AAAA --no-auth-cache
保存退出。
>chmod 777 post-commit
Linux 将svn工作目录下所有文件传到仓库
>find . | xargs svn add --force *.*
>svn ci -m "add demo*****"