版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yilukuangpao/article/details/78666511
1:安装svn服务端 yum install subversion
2:创建版本库: svnadmin create /home/svn/myrepos //目录可以自定义
3:配置svnserve
上述版本库/home/myrepos建立后在文件夹下会生成conf文件夹,进入/home/svn/myrepos/conf下面会有下面3个文件
authz passwd svnserve.conf
我们依次修改
3.1,svnserve.conf修改以下几个部分:
anon-access = none
auth-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /home/svn/myrepos
3.2,passwd修改为:
[users]
username = password //这里的username和password自己设置 (多用户配置)
3.3,authz最后加上以下两行(这两行解决了 SVN客户端解决authorization failed问题)
[/]
username = rw (进行多用户配置)
4:启动svnserve即可
svnserve -d -r /home/svn/myrepos/ (如果你是配置第一个版本库是没有问题的)
如果多版本库则
(用多端口启动即可)
svnserve -d --listen-port 3691 -r /home/svn/myrepos
SVN服务器默认端口3690, 用命令查看下该端口是否被占用啦:netstat -antp | grep svnserve ), 然后用3691端口启动就OK啦
(配置完需要重启 ps -ef | grep 端口号 kill -9 进程号 再次启动就ok了)
5:客服端使用:
svn checkout svn://服务器ip地址/myrepos/
(这时就可以在本地测试进行代码提交 测试用户名 密码)
svn钩子自动更新项目文件到web目录
1:cd /home/svn/myrepos/hooks
cp post-commit.tmpl ./post-commit
vim post-commit 编辑,添加以下代码
#!/bin/sh
export LANG=en_US.UTF-8
/usr/bin/svn update --username 用户名 --password 密码 /usr/share/nginx/html/carsysjx(项目目录 根据需求自己定义)
2:查看项目根目录所属组 ll -a
chown root:root /home/svn/myrepos/hooks/post-commit (修改post-commit文件)
chmod +x /home/svn/myrepos/hooks/post-commit (给post-commit文件添加上可执行权限即可)
3: 可以配置日志文件
REPOS="$1"
REV="$2"
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH (将此代码添加到post-commit中 未测试)
解释:whoami #执行此程序的用户
REPOS="$1" #svn项目绝对路径值
REV="$2" #最新版本号
附上链接:可参考 http://www.cnblogs.com/xuyk/p/6024757.html
http://www.blogdaren.com/post-1745.html
接下来就可以尽情的畅游svn了 ................................................省略1万个字
2:创建版本库: svnadmin create /home/svn/myrepos //目录可以自定义
3:配置svnserve
上述版本库/home/myrepos建立后在文件夹下会生成conf文件夹,进入/home/svn/myrepos/conf下面会有下面3个文件
authz passwd svnserve.conf
我们依次修改
3.1,svnserve.conf修改以下几个部分:
anon-access = none
auth-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /home/svn/myrepos
3.2,passwd修改为:
[users]
username = password //这里的username和password自己设置 (多用户配置)
3.3,authz最后加上以下两行(这两行解决了 SVN客户端解决authorization failed问题)
[/]
username = rw (进行多用户配置)
4:启动svnserve即可
svnserve -d -r /home/svn/myrepos/ (如果你是配置第一个版本库是没有问题的)
如果多版本库则
(用多端口启动即可)
svnserve -d --listen-port 3691 -r /home/svn/myrepos
SVN服务器默认端口3690, 用命令查看下该端口是否被占用啦:netstat -antp | grep svnserve ), 然后用3691端口启动就OK啦
(配置完需要重启 ps -ef | grep 端口号 kill -9 进程号 再次启动就ok了)
5:客服端使用:
svn checkout svn://服务器ip地址/myrepos/
(这时就可以在本地测试进行代码提交 测试用户名 密码)
svn钩子自动更新项目文件到web目录
1:cd /home/svn/myrepos/hooks
cp post-commit.tmpl ./post-commit
vim post-commit 编辑,添加以下代码
#!/bin/sh
export LANG=en_US.UTF-8
/usr/bin/svn update --username 用户名 --password 密码 /usr/share/nginx/html/carsysjx(项目目录 根据需求自己定义)
2:查看项目根目录所属组 ll -a
chown root:root /home/svn/myrepos/hooks/post-commit (修改post-commit文件)
chmod +x /home/svn/myrepos/hooks/post-commit (给post-commit文件添加上可执行权限即可)
3: 可以配置日志文件
REPOS="$1"
REV="$2"
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH (将此代码添加到post-commit中 未测试)
解释:whoami #执行此程序的用户
REPOS="$1" #svn项目绝对路径值
REV="$2" #最新版本号
附上链接:可参考 http://www.cnblogs.com/xuyk/p/6024757.html
http://www.blogdaren.com/post-1745.html
接下来就可以尽情的畅游svn了 ................................................省略1万个字