ubuntu 安装SVN版本控制器使用

xiaoxiao2021-02-27  375

1安装

  # sudo apt-get install subversion

2创建版本库

# sudomkdir /home/svn     # sudo svnadmin create /home/svn/repos

开启权限

chmod -R 777 /home/svn

chmod -R 777 /home /svn/repos

 

3编辑

进入#cd /home/svn/repos/ 可以看到conf  db  format  hooks locks  README.txt四个目录

进入#cd conf/ 

# sudo vim svnserve.conf  #将以下参数去掉注释 

 [general]    anon-access = none    #匿名访问权限,默认readnone为不允许访问    auth-access = write  #认证用户权限     password-db = passwd  #用户信息存放文件,默认在版本库/conf下面,也可以绝对路径指定文件位置    authz-db = authz

# sudo vim passwd  #格式是用户名=密码,采用明文密码 

 [users]    xiaoming = 123    zhangsan = 123    lisi = 123

# sudo vim authz  这里这是用户时要特别小心

user = xiaoming

admin = zhangsan,lisi

[repos:/]

@admin = rw

 

 

启动sudo svnserve -d -r /home/svn

 #查看是否启动成功,可看的监听3690端口   # sudo netstat -antp |grep svnserve   tcp    0      00.0.0.0:3690    0.0.0.0:*      LISTEN   28967/svnserve 

 

编辑时在启动时

关掉线程  sudo killall  svnserve

启动  sudo svnserve -d -r/home/svn

 

Svn 访问

 #访问repos版本库地址   svn://192.168.1.100/repos   # 访问repos/media目录地址   svn://192.168.1.100/repos/media

常见错误 在点击显示日志时 服务器连接错误  修改

 sudo vim svnserve.conf

   anon-access = none

 

这是最坑比的一部  一定要操作  不然不会同步代码  否则错都不不知道错在哪里

应该可行  待多次尝试

三、实现svn更新自动同步到web目录:

1、在web目录中checkout版本库

这一步算是比较关键的一步了,当时我搭建的时候试了无数次,就是缺少了这一步。把刚才checkout的版本库删掉,我们来一次比较正式的checkout:

svn co svn://localhost/project /home/www --username lsgoweb1(SVN账号) --lsgoweb1(SVN密码) 1 1

进入/var/svn/project/hooks下,建立post-commit文件:

cd /var/svn/project/hooks vim post-commit //在该文件里添加如下代码,保存 #!/bin/sh #设定环境变量,如果没有设定可能会出现update报错 #设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK export LANG=en_US.utf8 SVN_PATH=/usr/bin/svn //这里不用改 WEB_PATH=/home/www //web目录,如果你的不同,可以改 //这里的用户随便一个就好 $SVN_PATH update $WEB_PATH --username 'lsgoweb1' --password 'lsgoweb1' --no-auth-cache 123456789101112 123456789101112

保存退出。

修改post-commit用户为www目录用户

chown apache:apache post-commit //我的 /home/www 的用户组和所有者都是apache 1 1

给post-commit 执行权限:

chmod 755 post-commit

 

转载请注明原文地址: https://www.6miu.com/read-5170.html

最新回复(0)