第一步 安装svn
sudo apt-get install subversion
第二步 创建版本库管理目录(可以不创建,直接第三步)
sudo mkdir /home/svn //创建一个目录,方便以后单独将每个项目代码放到该目录下统一管理
第三步 创建版本库
sudo svnadmin create /home/svn/test //test即为项目目录
第四步 检查版本库是否创建成功
cd /home/svn/test \\进入该目录,查看隐藏文件夹
ll \\ll为ls -l 的别名
出现这些文件夹即为成功创建版本库
第五步 修改配置文件
cd /home/svn/test/conf \\authz文件是设置用户权限,passwd文件是存储用户及密码,svnserve.conf是主配置文件
使用vi或vim命令打开配置文件
- authz配置
添加红框中的代码,其中onion为自定义的用户名,r代表有读权限,w代表有写权限
- passwd配置
添加一个用户名和密码,用户名即为在authz中设定的用户名
- svnserve.conf配置
打开这两行的注释,并删除前面的空格
第六步 开启svn服务
- 开启服务命令
sudo svnserve -d -r /home/svn
- 检查是否开启成功
sudo netstat -antp |grep svnserve
出现3690端口,即为成功
第七步 设置项目自动更新
- 跳转到相应配置目录
cd /home/svn/test/hooks
- 创建脚本(假设项目运行目录为/var/www/html , 根据自己实际情况修改)
//复制脚本模板 cp post-commit.tmpl ./post-commit // 打开刚刚复制的脚本 vim post-commit //注释原脚本代码,或全部删除,添加如下新内容 #!/bin/sh REPOS="$1" REV="$2" export LANG=zh_CN.UTF-8 //使用 $LANG查看系统语言,一般为en_US.UTF-8 SVN_PATH=/usr/bin WEB_PATH=/var/www/html/test SVN_USER=onion SVN_PASS=123456 LOG_PATH=/tmp/svn.log echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH echo `whoami`,$REPOS,$REV >> $LOG_PATH $SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH exit 0
第八步 服务端检出项目
- 创建项目根目录
cd /var/www/html
mkdir test
- 进入项目目录,并检出项目
cd test
svn checkout svn://{服务器地址}:{端口号}/test .
//注意test后面的 . 是需要的
//例如 svn checkout svn://192.168.1.1:3690/test .