linux下的svn部署


 

安装步骤如下:

1、yum install subversion

yum -y install httpd

yum install mod_dav_svn


2、输入rpm -ql subversion查看安装位置,如下图: \
我们知道svn在bin目录下生成了几个二进制文件。 输入 svn --help可以查看svn的使用方法,如下图。 \


3、创建svn版本库目录 mkdir -p /var/svn/svnrepos
4、创建版本库 svnadmin create /var/svn/svnrepos 执行了这个命令之后会在/var/svn/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 #匿名用户可读 auth-access = write #授权用户可写

anon-access = none
auth-access = write
password-db = passwd #使用哪个文件作为账号文件 authz-db = authz #使用哪个文件作为权限文件 #realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
9、启动svn版本库 svnserve -d -r /var/svn/svnrepos
测试服务器 svn co svn://ip地址

10、在windows上测试 新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN): \
填写SVN的地址,如下图: \
输入密码,如下图: \

在linux上面checkout 到目录 svn co svn://ip地址
最后记得修改端口:
vim /etc/sysconfig/iptables

service iptables restart 重启防火墙


初充一:若想达到客户端提交文件,服务器下某个目录(假如目录名为html)也同步自动更新,采用下面的方法
第一步:服务器上检出
svn co svn://localhost/could html
第二步:新建post-commit文件
[root@i-531-29129-VM hooks]# pwd
/application/svndata/could/hooks
[root@i-531-29129-VM hooks]# vi post-commit
[root@i-531-29129-VM hooks]# cat post-commit
#!/bin/bash
WEB=/var/www/html/
export LANG=en_US.UTF-8
svn update $WEB --username svnserver --password 'svnserverpwd'

webDir=/var/www/web/svn_local
app=(center member operator shop queue)
cd $webDir
for appName in ${app[@]};
do
 cd $appName
 svn update
 cd $webDir
done
exit


linux下原理跟windows是一样的。只是新建的文件名不一样。

在SVN 项目版本库的存储目录下的hooks 目录,新建立一个post-commit文件:

    vi post-commit

增加以下代码:

    #!/bin/sh
    WEB=/home/data/o135
    export LANG=en_US.UTF-8
    svn update $WEB --username o135 --password 'o135123'

保存,退出。。

给予此脚本的权限:

    chmod 777 post-commit

测试一下,看脚本是否有权限问题

    ./post-commit

以后每次客户端提交操作,就会自动运行该脚本。 

相关内容

    暂无相关文章