1, 安装 SVN
1.1 先检查是否有安装 SVN
- rpm -qa subversion #没有什么显示就说明没有安装过
- yum remove subversion #如果有安装就运行删除老版本
- yum install subversion #运行安装 SVN
1.2 创建 SVN 版本库 (这里我们直接部署到 Tomcat/webapps 下, 如果没有可以自行部署一个 Tomcat)
mkdir -p /usr/local/tomcat/webapps/SVN
1.3 创建版本库
svnadmin create /usr/local/tomcat/webapps/SVN/svnTest
完成此处之后会在该目录下生成以下目录文件
1.4 在版本库的 conf 目录下配置文件
authz 文件是权限控制文件
passwd 是帐号密码文件
svnserve.conf SVN 服务配置文件
1.5 设置配置 passwd 如: 用户名 = 密码
- [users]
- test = test123
1.6 配置 authz 文件, 设置用户权限 rw 是拥有读写权限 (注: 一定要顶格写):
- [groups]
- # harry_and_sally = harry,sally
- # harry_sally_and_joe = harry,sally,&joe
- test = test
- [/]
- test = rw
- [/adminfile]
- @test= rw
1.7 配置 svnserve.conf , 打开以下注释就好了
- anon-access = read #匿名用户可读
- auth-access = write #授权用户可写
- password-db = passwd #使用哪个文件作为账号文件
- authz-db = authz #使用哪个文件作为权限文件
- realm =/usr/local/tomcat/webapps/SVN/svntest #认证空间名, 版本库所在目录
1.8 启动 SVN
svnserve -d -r /usr/local/tomcat/webapps/SVN/
检查 SVN 是否启动成功, 查看进程
ps -ef |grep svnserve
检查防火墙
- # 添加 (--permanent 永久生效, 没有此参数重启后失效)
- firewall-cmd --zone=public --add-port=3690/tcp --permanent
- # 重新载入 (SVN 默认 3690 端口)
- firewall-cmd --reload
- # 查看
- firewall-cmd --zone= public --query-port=3690/tcp
- # 或者之间关闭防火墙
- systemctl stop firewalld.service
最好在检出
SVN co SVN://ip/svnTest
回车之后会出现:
"root" 密码: 这里没有设置直接回车继续到
用户名: test
"test" 的密码: test123
保存未加密的密码 (yes/no):yes
最后提示:
取出版本: 0
用户端链接:
SVN://ip/svnTest
二, 实现用户上传 SVN 服务自动更新 (Web 项目直接刷新页面更新)
在版本库中找到 hooks 文件, 复制文件 post-commit.tmpl 并改名位 post-commit
- cd /usr/local/toncat/webapps/SVN/svnTset/hooks
- cp post-commit.tmpl post-commit
将以下内容写进 post-commit 文件中
- #!/bin/sh
- export LANG="zh_CN.UTF-8"
- REPOS="$1"
- REV="$2"
- SVN_PATH=/usr/bin/SVN
- WEB_PATH=/usr/local/tomcat/webapps/svnTest/
- $SVN_PATH update $WEB_PATH --username test--password test123--no-auth-cache
保存之后给 post-commit 执行权限
chmod -x post-commit
到这来就已经实现了自动更新, 就到网页通过 tomcat 访问到版本库中最新的项目了
来源: http://www.bubuko.com/infodetail-3091789.html