03-23
0
SVN安装 使用
采用yum安装方式:
1、rpm -qa subversion //检查是否安装了低版本的SVN
2、yum remove subversion //如果存储旧版本,卸载旧版本SVN
3、开始安装yum -y install subversion
安装好后查看版本svnserve –version
4、创建版本仓库:
mkdir -p /data/svn/myproject
svnadmin create /data/svn/myproject/
查看/data/svn/myproject 文件夹可以发现有conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
5、配置权限
cd /data/svn/myproject/conf/ //进入配置目录
vim svnserve.conf //编辑配置文件,加入下面五行内容
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /data/svn/myproject
6、编辑密码文件,添加用户admin密码123456:
vim passwd
localuser = 123456
defaultuser = 123456
7、编辑权限文件,添加用户test权限
vim authz
[groups]
root = defaultuser
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
[/]
@root = rw
localuser = rw
8.启动SVN
# svn端口默认是3690 这里使用10102
svnserve -d --listen-port 10102 -r /data/svn/
二、给svn添加钩子同步文件到PHP测试环境 (这里PHP项目目录为/var/www/html/project/)
1、进入版本库下的hooks目录
cd /data/svn/hooks/
2、将post-commit.tmpl 复制为 post-commit
cp post-commit.tmpl post-commit
给post-commit可执行权限
chmod 0777 post-commit
4、编辑post-commit,注释掉#mailer.py……这一行,添加下面四行,编码问题,如果错误的话可能导致无法同步 成功,可选的有en_US.UTF-8、zh_CN.UTF-8、zh_CN.GB2312,可以一个个试。
vi post-commit
#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
export LC_ALL=en_US.UTF-8
SVN=/usr/bin/svn
STATIC_DIR=/www/wwwroot/
${SVN} update ${STATIC_DIR} --username "localuser" --password "123456"
5、在提交之前,进行一次checkout代码到指定目录
svn checkout svn://localhost/ /www/wwwroot/
5、查看 关闭进程
ps -aux | grep svnserve
kill -9 端口号
三.设置开机启动
查看服务 ps aux|grep svnserve
查看 pid下面会用到 pidof svnserve
打开 svnserve.pid 添加上面的pid
vi /run/svnserve/svnserve.pid
cat svnserve.pid
编辑 svnserve.service 替换ExecStart内容
vim /lib/systemd/system/svnserve.service
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -d --listen-port 10102 -r /data/svn
svnserve.service 服务
systemctl enable svnserve.service #开机自启
systemctl start svnserve.service #启动服务
systemctl stop svnserve.service #停止服务
systemctl status svnserve.service #停止服务