svn搭建过程 针对Linux
Posted 姑凉汇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了svn搭建过程 针对Linux相关的知识,希望对你有一定的参考价值。
一,yum安装SVN
yum install -y subversion
二,验证是否完成 svnserve --version
三,创建svn版本库,用于放置所有项目的版本,路径可随意选择、建议与项目同级.
cd /data/wwwroot/
mkdir svnweb
在宝塔下 cd /www/wwwroot/
mkdir svnweb
四,创建项目库例如XXX01 (每个版本 对应每个项目,方便后期管理)
cd svnweb 回车
mkdir xxx01
五,初始化项目版本库 svnadmin create /www/wwwroot/svnweb/xxx01
cd xxx01
ls
会看到以下目录 conf db format hooks locks README.txt
cd conf
ls
看到 authz password svnserve.conf
说明:
(1)svnserve.conf svn服务综合配置文件
(2)password 用户名口令文件
(3)authz 权限配置文件
5.1 修改password文件
vi password
在最后一行添加你的用户名和密码 格式为 admin=admin123
5.2修改authz文件
vi authz
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
<--新增开始-->
[/]
admin = admin123 //用户名和密码
@admin = rw
* = r
<--新增结束-->
5.3 修改配置文件svnserve.conf
vi svnserve.conf
打开注释 去掉# 前面不留空格 anon-access=none (后面的参数不是none请改成none)
打开注释 去掉# 前面不留空格 anon-access=write (登录的用户可以写入)
打开注释 去掉# 前面不留空格 password-db=passwd (使用密码)
六,修改钩子文件让其同步到项目下
cd /www/wwwroot/svnweb/xxx01/hooks/
touch post-commit
vi post-commit
钩子文件第一行顶端必须是
#!/bin/sh 开头
在文件里添加以下内容
#!/bin/sh
REPOS="$1"
REV="$2"
TXN_NAME="$3"
"$REPOS"/hooks/mailer.py commit "$REPOS" $REV "$REPOS"/mailer.conf
#需执行此命令
#/usr/bin/svn checkout file:///data/wwwroot/svnweb/xxx01/ /data/wwwroot/项目文件
export LANG=en_US.UTF-8
REPOS="$1"
REV="$2"
用户名 密码
/usr/bin/svn update --username admin --password admin123 /data/wwwroot/项目文件
chown -R www.www /data/wwwroot/项目文件
chmod -R 777 /data/wwwroot/项目文件
exit 0
七 修改权限
chown -R www.www /www/wwwroot/svnweb
chmod -R 750 /www/wwwroot/svnweb
八 停止和启动svn
停止 killall svnserve
重启(svn 没停止重启会失败) svnserve -d -r /www/wwwroot/svnweb/
九 检出版本,/usr/bin/svn checkout file:///data/wwwroot/svnweb/xxx01/ /data/wwwroot/项目文件(已经在钩子文件中注释了,复制出来直接跑)
10 客户端建立是否能通讯 svn://ip/xxx01 (xxx01是版本库名称)
另外补充,阿里云主机要在安全配置中开启3690端口,其他地方开始无效,其他服务器运营商,要打开svn服务器防火墙端口,同样为3690
以上是关于svn搭建过程 针对Linux的主要内容,如果未能解决你的问题,请参考以下文章