ubuntu下搭建svn服务器并使用钩子自动更新文件

今天尝试一下在ubuntu上搭建svn服务
首先先安装svn

sudo apt-get install subversion

验证svn是否安装成功

svn --version
svn, version 1.9.3 //显示版本即安装成功

建立版本库/home/svn/project

sudo mkdir -p /home/svn/project && sudo svnadmin create /home/svn/project

进入/home/svn/project/conf/目录下修改配置文件
passwd文件最后添加

test = 123456

svnserver.conf取消这四行的注释

anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

authz添加test用户添加读写权限

[/]
test = rw

完成启动svn服务

sudo svnserve -d -r /home/svn

关闭svn服务

pkill svnserve

连接线上svn


ubuntu下搭建svn服务器并使用钩子自动更新文件_第1张图片

checkout出一份并且新建一个1.txt文件提交

ubuntu下搭建svn服务器并使用钩子自动更新文件_第2张图片

现在我们已经能开心的往服务器上提交代码了,之后我们进行代码自动部署的设置。
在/home/svn/project/hooks/下新建post-commit文件添加权限

cd /home/svn/project/hooks/ && sudo cp post-commit.tmpl post-commit && sudo chmod +x post-commit

在新建的post/commit文件下添加下列添加下列内容

REPOS="$1"
REV="$2"
export LANG="zh_CN.UTF-8"
export LC_CTYPE="zh_CN.UTF-8"
/usr/bin/svn update "/data/www/project/" --username test --password 123456 --non-interactive

去/data/www下拷出一份代码

svn checkout svn://127.0.0.1/project

ubuntu下搭建svn服务器并使用钩子自动更新文件_第3张图片

接着本地在新建一个2.txt文件并提交,去线上查看

cd project/ && ls

ubuntu下搭建svn服务器并使用钩子自动更新文件_第4张图片

线上自动生成了新提交的2.txt文件。至此完成了服务器的svn搭建并自动部署代码。

你可能感兴趣的:(ubuntu下搭建svn服务器并使用钩子自动更新文件)