SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统。说得简单一点 SVN 就是用于多个人共同开发同一个项目,共用资源的目的。
1.安装 svn 服务器
apt-get install subversion cd /usr/local/ mkdir svn svnadmin create /usr/local/svn/first
|
2.修改三个配置文件
svnserve.confanon-access = none auth-access = write password-db = passwd authz-db = authz realm = first
|
authz[group] first = ddl,shl [/] @first = rw #first组用户权限为读写 * = r #其他用户只有读权限
|
3.启动 svn 服务器
SVN 版本库起动方式,现在 svn 下面有 first、test 两个版本库
svnserve -d -r /usr/local/svn/first svnserve -d -r /usr/local/svn
|
区别在于起动 svn 时候的命令中的启动参数-r 指定的目录。
其他 svn 命令:
lsof -i :3690 ps aux |grep 'svn' netstat -anp|grep svnserve
|
4.svn 客户端
svn checkout svn: svn add * svn commit -m "message" *
|
5.使用 post-commit 实现自动部署
在svn目录
的/hooks
里面有一堆 tmpl,这些 tmpl 可以做很多事情,不过今天我们就说一下自动部署post-commit.tmpl
。
chmod 755 post-commit vi post-commit
|
#!/bin/sh svn update --username **** --password **** /var/www/test
|
6.常见错误
255 错误:post-commit 没有给执行权限 或者 头部没有执行用 sh 执行,就是没有#!/bin/sh
提示跳过目录:服务器目录没有 checkout 代码,记得一定要先 checkout 一次,才能同步(每次新建项目都需要)