centos yum安装配置SVN subversion 并同步web目录

来源:互联网 发布:淘宝卖家如何开通天猫 编辑:程序博客网 时间:2024/06/10 17:29

在工作中总要实用SVN进行版本控制,每次完成后还需要手动打包传到服务器的web目录下是在麻烦,于是通过SVN的钩子配置实现SVN提交后自动同步到web目录省去打包复杂的麻烦。


一、基本环境

服务器系统: centos6.5

SVN subversion版本: 1.6.11版本 使用yum安装的 如果需要新版本请编译源码安装

WEB服务器:Apache


二、安装SVN subversion

1、查看是否安装过 

rpm -ql subversion

2、通过yum安装   

yum -y install subversion
3、查看版本

svn --version


如果看到类似下面这样就安装完成

svn, version 1.6.11 (r934486)   compiled Aug 17 2015, 08:37:43

三、配置SVN subversion

1、创建用户用以TortoiseSVN客户端连接

useradd -s /sbin/nologin sxfenglei

2、为用户设置密码

passwd sxfenglei

3、防火墙开启SVN默认端口3390如果使用别的端口请根据自身情况配置

特别声明在修改前先备份防火墙配置文件,因为有的时候是动态添加的规则,后期重启将丢失

vim /etc/sysconfig/iptables

添加一条规则

-A INPUT -p tcp -m tcp --dport 3690 -j ACCEPT
重启防火墙

service iptables restart


4、创建SVN项目

 svnadmin create /svnData/testProject
cd /svnData/testProject
会发现SVN生成了项目目录

conf  db  format  hooks  locks  README.txt
/  svnData               testProject                                conf                                       authz                                       passwd                                       svnserve.conf                                db                                format                                hooks                                looks                                README.txt

5、配置SVN

5.1配置用户权限:修改vim /svnData/testProject/conf/authz 在末尾添加 SVN项目目录和用户权限  r读  w写  rw读写

[/testProject]sxfenglei = rw
5.2配置登录密码: 修改vim /svnData/testProject/conf/passwd  增加登录用户名和秘密 这个用户必须是已经在系统中创建的用户(可以是onlogin级别的用户)

[users]# harry = harryssecret# sally = sallyssecretsxfenglei=123456
5.3配置SVN: 修改vim /svnData/testProject/conf/svnserve.conf 开启以下配置

anon-access = noneauth-access = writepassword-db = passwdauthz-db = authzrealm = 提示描述内容


6、启动SVN

//使用默认端口启动svnserve -d -r /svnData/testProject///使用指定端口svnserve --listen-port 3691 -d -r /svnData/testProject//查看允许的程序IDnetstat -nultp//停止运行kill -9 xxx

7、通过客户端访问,在客户端TortoiseSVN访问  svn://192.168.1.100/testProject 输入账号密码 到此SVN配置完成。


三、SVN同步到web目录

主要就是配置SVN的 hooks文件

3.1修改 /svnData/testProject/hooks/post-commit  文件

cd /svnData/testProject/hooks/cp post-commit.tmpl post-commitvim post-commit
REPOS="$1"REV="$2"SVN=/usr/bin/svn  #svn程序WEB=/www/web/myProject/public_html/testexport LANG=en_US.UTF-8$SVN update --username xiaolian --password xiaolian029 $WEBchown -R www:www $WEB


3.2修改post-commit权限为 0755

chmod 0755 post-commit

3.3 重启SVN

netstat -nultp

kill -9 xxxx

svnserve -d -r /svnData/testProject


3.4抽出svn到服务器www目录

svn checkout svn://114.215.98.96 /www/web/myProject/public_html/


3.5 通过客户端提交更新将会自动同步到WEB服务器目录















0 0
原创粉丝点击