在linux下简单部署svn服务
在git大行其道的时代svn似乎已经被逐步淘汰,但是某些情况下svn还是挺好用的。比如你不想把项目放在一些不安全的代码托管平台,同时又不想自建gitlab这种复杂又吃内存的服务的时候你可能会选择在服务器上自建svn服务,下面直接进入正题:
#以Ubuntu或者CentOS系列为例,首先安装svn服务
apt install subversion 或者 yum install subversion
#安装成功接下来是创建一个svn仓库目录
svnadmin create ~/myObject(你准备放项目的仓库目录)
接下来需要配置下几个文件
vim ~/myObject/conf/svnserve.conf
去掉以下几行前面的#号注释
<code>
#anon-access = none
#auth-access = write
#password-db = passwd
#authz-db = authz
#realm = 你的项目名字,最好跟你准备放项目的仓库目录相同
</code>
然后创建svn账户密码
vim ~/myObject/conf/passwd
<code>
[users]
你用户名=密码
</code>
然后是修改自动提交脚本
vim ~/myObject/hooks/post-commit
<code>
#!/bin/sh
###### 配置svn钩子 ######
export LANG=en_US.UTF-8
SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件
WEB=/yourpath/web #要更新的目录
$SVN update $WEB --username 你前面配置的svn账户 --password 你前面配置的svn密码
</code>
钩子配置完成记得给执行权限 chmod +x ~/myObject/hooks/post-commit,最好手动执行下是否正常
然后启动下svn服务
<code>
svnserve -d -r ~/myObject --listen-port=3690 #3690是默认端口,其他未被占用的端口也行,记得防火墙给端口放行
</code>
###### svn 常用命令 ######
#拉取仓库代码(类似git pull)
svn checkout svn://svn服务器地址:端口(如果是3690就不用填)/仓库目录(上面的例子可以不要仓库目录)
#添加文件(类似git add .)
svn add .
#提交文件(类似同时执行 git commit -m 和 git push两个命令)
svn commit -m "提交注释"
#更新文件
svn update 你的项目目录
更多>>