linux安装配置SVN并设置钩子

linux安装配置SVN并设置钩子

安装说明

系统环境:CentOS-6.3
安装方式:yum install (源码安装容易产生版本兼容的问题)
安装软件:系统自动下载SVN软件

检查已安装版本

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

1
rpm -qa subversion

#卸载旧版本SVN

1
yum remove subversion

一.安装SVN

1
yum -y install subversion

验证安装

检验已经安装的SVN版本信息

1
svnserve --version

代码库创建

SVN软件安装完成后还需要建立SVN库

1
2
mkdir
-p /www/svndata
svnadmin create /www/svndata/test

执行上面的命令后,自动建立svndata库,查看/www/svndata/test 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库

进入上面生成的文件夹conf下,进行配置

1
cd /www/svndata/test/conf

用户密码passwd配置

1
2
cd /www/svndata/test/conf
vim passwd

修改passwd为以下内容:

1
2
3
4
[users]
# harry = harryssecret
# sally = sallyssecret
cqh=123456

权限控制authz配置

1
vim authz

目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

1
2
3
#设置[/]代表根目录下所有的资源
[/]
cqh=rw

服务svnserve.conf配置

1
vim svnserve.conf

追加以下内容:

1
2
3
4
5
6
7
8
9
10
11
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = My First Repository

启动SVN

1
svnserve -d -r /www/svndata

查看SVN进程

1
2
[root@localhost conf]# ps -ef|grep svn|grep -v grep
root     12538     1  0 14:40 ?        00:00:00 svnserve -d -r /www/svndata

检测SVN 端口

1
2
[root@localhost conf]# netstat -ln |grep 3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN

停止重启SVN

1
2
[root@localhost password]# killall svnserve   
//停止
[root@localhost password]# svnserve -d -r /www/svndata
// 启动

测试

SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://xxx.xxx.xxx.xxx/test
用户名/密码: cqh/123456
测试创建文件夹等操作。

 

二.设置钩子自动更新

实现SVN与WEB同步,可以CO一个出来,也可以直接用自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。
第一步:建立你的web程序目录

1
mkdir
/
var
/www/html/test

进入你建立的web程序目录(svn checkout可以简写为co)

1
2
svn checkout svn:
//localhost/svntest //不重命名文件夹,直接在当前目录下检出
svn checkout svn:
//localhost/svntest test //检出文件并且重命名文件夹

 第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】

添加脚本内容如下

1
2
3
4
5
export LANG=en_US.UTF-8
SVN=/usr/bin/svn            #这里配置的是svn安装bin目录下的svn文件
WEB=/
var
/www/html/test      #要更新的目录
$SVN
update
$WEB
--username cqh --password 123456
chown
-R www:www 
$WEB

其中SVN=右边改成 svn 命令位置
WEB=右边改成你实际的web目录

第三步:让post-commit有执行的权限

1
chmod
a+x post-commit

第四步:这里就已经完成了,第四步就是测试了。

说明:
export LANG=en_US.UTF-8是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为UTF8编码,其实SVN默认就是UTF-8编码,如果编码是GBK的话不设置将会出现错误,而执行不成功,错误标识为

1
svn: Can
't convert string from native encoding to '
GBK'

/usr/bin/svn update –username cqh –password 123456 /var/www/html/test 执行更新操作
如果提示:

1
post-commit hook failed (
exit
code 255) with no output

赋予post-commit文件可执行权限
如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格式在提交

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112854.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月29日 上午6:00
下一篇 2021年10月29日 上午7:00


相关推荐

  • 什么是索引下推

    什么是索引下推概述索引条件下推优化 IndexConditi ICP 是 MySQL5 6 添加的 用于优化数据查询 不使用索引条件下推优化时存储引擎通过索引检索到数据 然后返回给 MySQL 服务器 服务器然后判断数据是否符合条件 当使用索引条件下推优化时 如果存在某些被索引的列的判断条件时 MySQL 服务器将这一部分判断条件传递给存储引擎 然后由存储引擎通过判断索引是否符合 MySQ

    2026年3月18日
    2
  • 转CSDN:播放媒体文件_ASP.NET播放视频文件,开源代码

    转CSDN:播放媒体文件_ASP.NET播放视频文件,开源代码

    2021年7月27日
    54
  • linux 系统进行make menuconfig的时候出错

    linux 系统进行make menuconfig的时候出错错误信息:(ps:当前系统:Linuxlabpc4.13.0-36-generic#40~16.04.1-UbuntuSMPFriFeb1623:25:58UTC2018x86_64x86_64x86_64GNU/Linux)HOSTCCscripts/kconfig/mconf.oInfileincludedfromscripts/kc…

    2022年5月25日
    36
  • 0707作业

    0707作业

    2021年6月8日
    102
  • 进销存ERP源码 进销存APP源码 带小程序ERP源码

    进销存ERP源码 进销存APP源码 带小程序ERP源码前端开发:uniapp后端开发:PHP数据库:MySql移动端:APP+小程序界面简洁,前端采用Bootstrap以及Bootstrap-table相结合,实现自适应的效果、弹窗等。

    2022年5月31日
    75
  • DDOS攻击工具有哪些?怎么防御DDOS攻击?

    DDOS攻击工具有哪些?怎么防御DDOS攻击?互联网的发展给大家带来的很多的便利,也有很多的业务机会,带来很多利益,但凡事都有两面性,有利益也会有危害,例如黑客会通过互联网进行攻击,导致企业损失。DDOS就是黑客常用的攻击手段,也是企业惧怕的一件事,如果真的不小心遭受到DDOS攻击,那么后果真的是会难以想象。黑客一般是会通过软件进行攻击,那么你知道常用的DDOS攻击工具有哪些?1、卢瓦(LOIC)卢瓦在黑客领域就很有知名度,也是他们常用的DOS攻击工具之一,这个工具经常被黑客利用,对很多的大公司进行网络攻击。卢瓦能使用单个用户执行DOS攻击

    2022年7月27日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号