Linux下svn库搭建
来源:互联网 发布:五五开德云色事件知乎 编辑:程序博客网 时间:2024/06/02 01:58
1,安装SVN服务端
直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装)sudo apt-get install subversion
2,创建版本库
svnadmin create /var/svn //这里的文件目录自己随便设置
3,配置svnserve
上述版本库/var/svn建立后在文件夹下会生成conf文件夹,进入/var/svn/conf下面会有下面3个文件
authz passwd svnserve.conf
我们依次修改
3.1,svnserve.conf修改以下几个部分:
authz-db = authzauth-access = writepassword-db = passwdauthz-db = authz
3.2,passwd修改为:
[users] username = password //这里的username和password自己设置
3.3,authz最后加上以下两行(这两行解决了 SVN客户端解决authorization failed问题)
[/]* = rw
4,启动svnserve即可:
svnserve -d -r /var/svn
5,客户端使用:
客户端用svn或者windows下的TortoiseSVN客户端5.1,从服务端checkout版本库(在当前目录下)
svn checkout svn://服务器的ip地址/
5.2,自己增加一些文件,或者把之前的东西(如下面三个文件夹)拷贝到当前目录下,想让svn帮你管理
code project document5.3,假设我把上述三个文件夹放到当前svn的文件夹下想让svn管理,然后我要做的是添加到svn版本库里:
svn add code project document //或者直接用svn add *5.4,最后提交到svn服务器
svn commit -m 'import three directories'一定要对当前版本写注释。
然后配置SVN钩子自动更新项目文件到web目录
在SVN服务器端
说明:
SVN安装路径:/usr/bin/svn
SVN项目路径:/var/svn
SVN登录账号:yourname
SVN登录密码:yourpass
Web站点根目录:/home/wwwroot/
实现目的:
当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录
具体操作:
一、使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录
cd /home/svn/hookscp post-commit.tmpl post-commitvim post-commit #编辑,添加以下代码REPOS="$1"REV="$2"export LANG=en_US.UTF-8SVN_PATH=/var/svnWEB_PATH=/home/wwwroot/SVN_USER=adminSVN_PASS=adminLOG_PATH=/tmp/svn.logecho `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATHecho `whoami`,$REPOS,$REV >> $LOG_PATH$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH:wq #保存退出chown www:www /var/svn/hooks/post-commit #设置脚本所属用户组,www为web服务运行账户和组chmod +x /var/svn/hooks/post-commit #添加脚本执行权限
说明:
whoami #执行此程序的用户
REPOS="$1" #svn项目绝对路径值
REV="$2" #最新版本号
--no-auth-cache #不保存账户认证信息
二、客户端测试
使用svn客户端添加一个文件之后,进行svn添加并提交操作进入服务器/home/wwwroot目录下可以看到提交到svn的文件已自动更新到web目录下至此,Linux下SVN服务器自动更新文件到Web目录教程完成。
ps:你可能会遇到这个问题
在日志文件中
Skipped "/home/wwwroot"
然后提交的文件并没有自动更新到web目录下
我的解决方法是:
cd /home/wwwroot/
svn checkout svn://服务器的ip地址 ./
然后你新提交的文件就可以自动更新到web目录下了
分析原因:/home/wwwroot/目录下不存在.svn目录,svn不知道/home/wwwroot/
checkout后会在/home/wwwroot/目录下生成.svn目录,然后就可以识别并自动更新提交的文件到改目录下了
有的还有可能是权限问题,目录权限和当前用户权限,或者防火墙要打开
阅读全文
0 0
- Linux下svn库搭建
- linux下搭建svn
- linux 下svn搭建
- Linux下搭建svn
- Linux下搭建SVN
- Linux下SVN搭建
- Linux下搭建svn版本库
- Linux下SVN服务器搭建
- Linux下搭建SVN服务器
- Linux下搭建SVN服务器
- linux下svn搭建流程
- Linux下SVN服务器搭建
- linux下搭建svn服务器
- Linux下搭建SVN服务
- linux 下svn服务器搭建
- Linux下搭建SVN服务器
- Linux下SVN服务器搭建
- linux下搭建SVN服务器
- Python 3爬虫网易云(九)—— 获取一个歌手的热门50首歌词
- java多线程
- Python实现24点游戏
- h5+ 时光轴
- Maven使用deploy上传jar包到远程库
- Linux下svn库搭建
- 复选框的全选和反选
- 从事信息安全行业的心得
- 程序中的context(上下文)
- web——媒体查询
- spring boot 及 redis 实现分布式session 实践笔记
- mysql分表和表分区详解
- leetcode 273. Integer to English Words
- python操作MySQL 模拟简单银行转账操作