1,yum install subversion // yum安装
2,mkdir -p /home/svn/project //创建一个用于安放仓库的目录,想建在哪都行,想怎么起名字都无所谓
svnadmin create /home/svn/project/ // 创建一个仓库,仓库不是你的代码目录,他就是一个仓库,你还需checkout代码
// 进入仓库目录,进入conf 文件夹
3,配置 svnserv.conf
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password # 用户密码文件
authz-db = authz # 访问控制文件
realm = /home/svn/project # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
# 顶格写,左侧不能留空格
4,.配置passwd
[users]
# harry = harryssecret
# sally = sallyssecret
test= 123
5,配置authz权限
[/]
username = rw
6,启动svn
svnserve -d -r /home/svn
// 这里有个奇怪的地方,可能是我没有弄好,我当时启动后客户端无法连接svn,就kill -9 之后重新启动了一下,就正常了
7,写自动checkout
进入 hooks文件夹,开始写钩子
cp post-commit.tmpl post-commit //为了保证编码正确,我直接复制的
// 清空,写下面的东西
#!/bin/sh
export LANG=zh_CN.UTF-8
/usr/bin/svn update --username **** --password **** /var/www/test
// 那个编码我没搞懂,为啥用zh_CN没有问题,有的写得是us,应该没啥问题,都用的utf8
//修改权限
chmod 755 post-commit
8,写完脚本后,他不会立刻执行,要先手动checkout到服务器上的代码目录
svn checkout svn://服务器地址
中间会让你写一个yes
然后他之后就是自动的了