1.安装SVN
1 | apt-get install subversion |
2.创建项目目录
1 2 3 4 | mkdir svn //创建一个文件夹,用来存放一个或多个项目 cd ./svn //进入这个目录 mkdir project//创建一个新的项目目录 svnadmin create ./svn/project //创建svn文件仓库(这一步是让这个新的文件夹变成svn的版本库) |
3.权限设置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | cd ./svn/project/conf vim passwd //添加用户设置密码 root = 123456 user1 = 123456 user2 = 123456 vim authz //编辑用户权限 admin = user1,user2,root @admin=rw *=r vim svnserve.conf //控制访问权限 anon-access = none #匿名用户(anonymous users)的访问权限 auth-access = write #授权用户(authenticated users)的访问权限 password-db = passwd #密码数据库文件的位置,这里指向同级目录下的passwd文件 authz-db = authz #用户授权规则文件的位置,这里指向同级目录下的authz文件 |
4.启动SVN
启动svn
1 | svnserve -d -r /svn |
这里的/svn 的目录就是你第一步创建用来存放项目的那个目录
关闭svn
在配置过程中如果需要关闭svn则kill
1 2 3 4 | ps aux | grep svn root 21618 0.0 0.0 69596 616 ? Ss 19:07 0:00 svnserve -d -r /svn root 21927 0.0 0.2 11748 2156 pts/0 S+ 19:10 0:00 grep –color=auto svn kill 21618 |
5.配置钩子
在这里svn提供了好的钩子模板,你可以根据自己的情况选择模板,一般都是选择post-commit.tmpl(提交后更新)
1 2 | cd ./svn/project/hooks vim post-commit //新建文件 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #!/bin/bash EPOS="$1" REV="$2" TXN_NAME="$3" export.UTF-8 SVN=/usr/bin/svn WEB=/home/wwwroot/projectDIR LOG=/tmp/www.log $SVN update $WEB –username svnuser–password yourpasswd > $LOG || exit 1 chown wwwroot:www $WEB -R exit 0 ifthen echo "ok" >> /tmp/www.out fi |
6.设置模板执行权限
1 | chmod 755 post-commit |
7.上传代码纳入版本管理
1 | svn import -m "import" /home/project svn://192.168.213.31/project |
8.检出到WEB目录
1 | /usr/bin/svn checkout svn://serverIP/project/ /home/wwwroot/project |