Ubuntu下安装SVN版本控制服务
今天在Ubuntu环境下部署svn版本控制服务。
一、下载安装
# apt-get install subversion
二、创建目录
# mkdir /home/svn # mkdir /home/svn/repository # chmod -R 777 /home/svn/repository
三、创建仓库
# svnadmin create /home/svn/repository
查看 repository 目录:
# cd /home/svn/repository /home/svn/repository# ls -l total 24 -rw-r--r-- 1 root root 246 Sep 2 14:13 README.txt drwxr-xr-x 2 root root 4096 Sep 2 14:13 conf drwxr-sr-x 6 root root 4096 Sep 2 14:13 db -r--r--r-- 1 root root 2 Sep 2 14:13 format drwxr-xr-x 2 root root 4096 Sep 2 14:13 hooks drwxr-xr-x 2 root root 4096 Sep 2 14:13 locks
四、修改配置文件
进入配置文件:
root@docker:/home/svn/repository# cd conf root@docker:/home/svn/repository/conf# ls -l total 20 -rw-r--r-- 1 root root 1080 Sep 2 14:13 authz -rw-r--r-- 1 root root 885 Sep 2 14:13 hooks-env.tmpl -rw-r--r-- 1 root root 309 Sep 2 14:13 passwd -rw-r--r-- 1 root root 4371 Sep 2 14:13 svnserve.conf
1、修改svnserve.conf
vim svnserve.conf
将以下参数去掉注释:
[general] anon-access = none #匿名访问权限,默认read,none为不允许访问 auth-access = write #认证用户权限 password-db = passwd #用户信息存放文件,默认在版本库/conf下面,也可以绝对路径指定文件位置 authz-db = authz
2、修改passwd文件
vim passwd
添加用户名和密码,例如
corwien = corwien_123
3、修改authz文件
vim authz
在[group]下面加上:
admin=corwien [/] @admin=rw
五、启动svn服务
# svnserve -d -r /home/svn
查看进程是否已经开启:
# ps aux | grep svnserver root 134 0.0 0.0 11460 1052 pts/1 S+ 14:22 0:00 grep --color=auto svnserver
从上面看,进程已经开启了。
六、在客户端测试
我们搭建的svn服务地址为:svn://ip/repository
注意:默认端口是3690,要开放此端口。
七、设置开机自启
先查一下svnserve的位置
which svnserve
例如返回
/usr/bin/svnserve
记住这个,后面脚本需要
开始写脚本
cd /etc/init.d vim svn.sh
打开后写入
#!/bin/bash /usr/bin/svnserve -d -r /home/svn
保存退出后给文件添加可执行权限
chmod +x /etc/init.d/svn.sh
打开 /etc/rc.d/rc.local
, 在新行添加
etc/init.d/svn.sh
重启系统,看看svn有没有启动
八、钩子
进入项目svn找到hooks文件夹
root@docker:/home/svn/repository/hooks# ls -l total 36 -rwxr-xr-x 1 root root 2634 Sep 2 14:13 post-commit.tmpl -rwxr-xr-x 1 root root 2773 Sep 2 14:13 post-lock.tmpl -rwxr-xr-x 1 root root 2994 Sep 2 14:13 post-revprop-change.tmpl -rwxr-xr-x 1 root root 2605 Sep 2 14:13 post-unlock.tmpl -rwxr-xr-x 1 root root 4038 Sep 2 14:13 pre-commit.tmpl -rwxr-xr-x 1 root root 3621 Sep 2 14:13 pre-lock.tmpl -rwxr-xr-x 1 root root 3469 Sep 2 14:13 pre-revprop-change.tmpl -rwxr-xr-x 1 root root 3309 Sep 2 14:13 pre-unlock.tmpl -rwxr-xr-x 1 root root 3754 Sep 2 14:13 start-commit.tmpl
svn的hooks模版功能介绍
start-commit 提交前触发事务 pre-commit 提交完成前触发事务 post-commit 提交完成时触发事务 pro-revprop-change 版本属性修改前触发事务 post-revprop-change 版本属性修改后触发事务 post-lock 对文件进行加锁操作之后执行该脚本
示例:
chmod 755 post-commit && vim post-commit
#!/bin/sh # POST-COMMIT HOOK REPOS="$1" REV="$2" export LANG=en_US.UTF-8 SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件 WEB=/var/www/myweb #要更新的目录 $SVN update $WEB --username adm --password adm chown -R www:www $WEB
进入/var/www/myweb
文件夹手动检出一份svn版本库下次更新svn版本就会自动更新到服务器
相关文章:
ubuntu下安装svn
Ubuntu 14.04快速搭建SVN服务器及日常使用【转】
SVN实践笔记(理论概念)--版本控制
相关推荐
leehbhs 2020-07-04
SAMXIE 2020-11-04
TensorFlowNews 2020-10-19
shyleoking 2020-06-14
xiaoyaodaia 2020-06-10
pppuil 2020-06-10
guying 2020-06-08
heimu 2020-06-02
lhp000 2020-05-30
飒水飞月 2020-05-09
MrFuWen 2020-03-07
ameng 2020-03-01
Javawucao 2020-02-25
leehbhs 2020-02-22
lovetg0 2020-02-22
ameng 2020-02-19
李玉志 2020-02-17
qdqht00 2020-01-19
ameng 2020-01-17