linux搭建svn服务器centos并配置钩子

12 篇文章 0 订阅
5 篇文章 0 订阅
系统环境:CentOS-7.2(一般没什么事 centos都可以安装)
安装方式:yum install (源码安装容易产生版本兼容的问题)

安装软件:系统自动下载SVN软件

#检查是否安装了低版本的SVN

rpm -qa subversion

#卸载旧版本SVN

yum remove subversion

yum安装svn

yum -y install subversion

版本库创建

svn安装好后需要创建个版本库

[root@iZuf6fazwjb6lb3z82smzoZ /]# mkdir -p /var/svn/svnrepos           //创建版本库文件夹
[root@iZuf6fazwjb6lb3z82smzoZ /]# svnadmin create /var/svn/svnrepos    //生成版本库
[root@iZuf6fazwjb6lb3z82smzoZ /]# cd /var/svn/svnrepos
[root@iZuf6fazwjb6lb3z82smzoZ svnrepos]# ls
conf  db  format  hooks  locks  README.txt                             //版本库生成的文件
配置版本库的可访问用户
[root@iZuf6fazwjb6lb3z82smzoZ svnrepos]# cd conf
[root@iZuf6fazwjb6lb3z82smzoZ conf]# vi passwd                         //进入密码文件设置用户与密码

注意 ~ 最好不要有什么空格 svn配置要求蛮严格的 有时候就因为多了个空格就行不通

zzx是用户名 123456是密码 配置完后需要去配置该用户的权限

[root@iZuf6fazwjb6lb3z82smzoZ conf]# vi authz                        //进入权限配置文件

[/] 代表根目录下所有的资源 在文件末尾添加红圈内的内容 zzx是用户名 rw表示可读可写 也是注意不要有空格

配置ok后wq退出

[root@iZuf6fazwjb6lb3z82smzoZ conf]# vi svnserve.conf
进入svn服务文件


这里严重注意不能有空格 默认有空格的 去掉  realm是指你svn版本库的文件的名字 也可以写路径 上边那些是开启相对应的权限

注释去掉后保存wq退出

[root@iZuf6fazwjb6lb3z82smzoZ conf]# svnserve -d -r /var/svn/svnrepos     //启动svn
[root@iZuf6fazwjb6lb3z82smzoZ conf]# netstat -ln |grep 3690               //查看svn端口3690
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN 
[root@iZuf6fazwjb6lb3z82smzoZ conf]# killall svnserve                    //停止svn服务
[root@iZuf6fazwjb6lb3z82smzoZ conf]# svnserve -d -r /var/svn/svnrepos     //启动svn
这时候svn差不多搭建完了 现在还需要写个钩子自动更新

[root@iZuf6fazwjb6lb3z82smzoZ hooks]# rm -rf post-commit.tmpl       //删除本来没用的钩子文件
[root@iZuf6fazwjb6lb3z82smzoZ hooks]# touch post-commit             //创建钩子文件
[root@iZuf6fazwjb6lb3z82smzoZ hooks]# chmod -R 777 post-commit      //给予权限
[root@iZuf6fazwjb6lb3z82smzoZ hooks]# vi post-commit
写入

#!/bin/sh
WEB=/data/wwwroot/default/svnrepos                   //svn版本库路径
export LANG=en_US.UTF-8                              //设置更新的编码格式
svn update $WEB --username zzx --password '123456'   //svn update更新 后边是用户名和密码
到这基本就搭建好了.先在服务器要更新的目录下执行

[root@iZuf6fazwjb6lb3z82smzoZ svnrepos]# svn checkout svn://106.15.44.166/svnrepos   //在服务器检出
如果成功后,就可以在本地svn checkout

如果有出现连接不上服务器的svn 可以看一下防火墙有没有关闭 没有的话关闭一下

开启: service iptables start 
关闭: service iptables stop
好了 关闭后防火墙就可以正常的连接到服务器的svn了
有问题欢迎指出评论 ~ 有帮助的点个赞谢谢 ~



  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值