Linux下svn的部署
1、安装步骤
yum install subversion
yum -y install httpd
yum install mod_dav_svn
说明:自己设置安装路径yum install --installroot=/usr/src/ subversion
2、输入rpm -ql subversion查看安装位置,如下图:
我们知道svn在bin目录下生成了几个二进制文件。 输入 svn --help可以查看svn的使用方法,如
3、创建svn版本库目录 mkdir -p /var/svn/svnrepos
说明:版本库的路根据自己的需要设置即可,这里以svnrepos为版本库根目录,在其下建立多个版本仓库:
mkdir -p /var/svn/svnrepos
mkdir -p /var/svn/svnrepos/weixin
mkdir -p /var/svn/svnrepos/shop
4、创建版本库 svnadmin create /var/svn/svnrepos/weixin 执行了这个命令之后会在/var/svn/svnrepos/weixin目录下生成如下这些文件
说明:这里是以svnrepos作个多个版本库的根目录,一会只要监管根目录即可,需要使用svnrepos下的哪个目录作为版本库在目录下创建版本库即可
5、进入conf目录(该svn版本库配置文件) authz文件是权限控制文件 passwd是帐号密码文件 svnserve.conf SVN服务配置文件
6、设置帐号密码
vi passwd 在[users]块中添加用户和密码,格式:帐号=密码,
如dan=dan
7、设置权限
vi authz 在末尾添加如下代码:
[/]
*=dan=rw
意思是版本库的根目录dan对其有读写权限,w只有读权限。
8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
anon-access = none #匿名用户不可读不可写
(以上的匿名用户权限可以不打开)
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos/weixin #认证空间名,版本库所在目录
9、设置钩子自动更新线上内容
进入版本库中的hooks文件夹
新建一个post-commit文件,设置里面的内容为:
#!/bin/sh #运行脚本
SVN=/usr/bin/svn #svn软件所在目录
WEB=/phpstudy/www/weixin #想要同步更新的线上文件夹路径
$SVN update $WEB --username zhang --password 222 #svn用户名密码
10、修改修配权限
Chmod 777 post-commit
11、启动svn版本库
svnserve -d -r /var/svn/svnrepos
注意:这里启动的是所有版本库的上级目录
12、在线上环境和线下环境进行检出
线上:svn co svn://192.168.152.128/weixin
注意:前面就是服务器的Ip地址,后面的就是监管目录下的具体版本库文件夹