linux安装SVN并设置SVN钩子

检查已安装版本

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

rpm -qa subversion

#卸载旧版本SVN

yum rovesubversion

一.安装SVN

yum -y install subversion

验证安装

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

svnserve --version

代码库创建

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

mkdir -p /www/svn/tata
svnadmin create /www/svn/tata

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

配置代码库

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

cd /www/svn/tata/conf

用户密码passwd配置

vim passwd

修改passwd为以下内容:

[users]
# harry = harryssecret
# sally = sallyssecret
tata=123456

权限控制authz配置

vim authz

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

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin=tata,company
[/]
@admin=rw

服务svnserve.conf配置

vim svnserve.conf

追加以下内容:

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

启动SVN

svnserve -d -r /www/svn/tata

查看SVN进程

ps -ef|grep svn|grep -v grep

检测SVN 端口

netstat -ln |grep 3690

停止重启SVN

另外提供关闭svn的命令:killall svnserve
开启是svn的命令:svnserve -d -r /www/svn/tata

二.设置钩子自动更新

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

mkdir /var/www/html/tata

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

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

 第二步:在项目库的 hooks/ 目录下将post-commit.tmpl文件复制一份并命名为 post-commit 文件 【钩子脚本】

添加脚本内容如下

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

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

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

chmod a+x post-commit

linux安装SVN并设置SVN钩子的更多相关文章

  1. Linux安装Jenkins及配置svn使用

    目录 1. 下载 2. 创建文件夹 3. 安装 4. 修改端口,不用这步 5. 安装插件提速 6. 启动 7. 页面访问 8. 新建用户 9. 安装Subversion插件 10. 安装maven插件 ...

  2. linux安装git服务器和svn服务器

    linux版本 linux版本为CentOS 6.8 (要注意有些软件的安装方法在各个linux版本之间也是存在差异的) git服务器 git服务器需要提供一个UI供开发人员创建项目管理项目,选择使用 ...

  3. linux安装mongodb(设置非root用户和开机启动)

    官网地址:https://www.mongodb.com/ 在官网上选择不同的linux系统得到不同的下载地址,我们用的下载地址是:https://fastdl.mongodb.org/linux/m ...

  4. linux安装jdk并设置环境变量(看这一篇文章即可)

    1.查看linux位数 查看linux是32位还是64位,影响需要下载JDK的版本   系统位数 jdk位数 x86(32位) 32位 x86_64(64位) 32位 64位 在linux命令输入: ...

  5. Linux 安装MongoDB 并设置防火墙,使用远程客户端访问

    1. 下载 MongoDB 提供了 linux 各发行版本 64 位的安装包  下载地址:https://www.mongodb.com/download-center#community 2. 安装 ...

  6. Linux 安装软件之后设置PATH环境变量

    每一个软件都有安装路径这一项,指定安装路径的目的,一方面是便于文件搜索与查找,另一方面更方便的使用软件. 比如,几乎大多数自己安装的软件,都会选择安装在/usr/local目录下,比如apache.m ...

  7. Linux安装nginx并设置https(openssl

    一.安装依赖包 1.$sudo apt-get install openssl    或者$sudo apt-get install libssl-dev 2.$sudo apt-get instal ...

  8. linux安装mysql之设置远程访问权限

    1.将3306端口加入防火墙 /sbin/iptables -I INPUT -p tcp --dport 3306-j ACCEPT  #添加端口3306/etc/rc.d/init.d/iptab ...

  9. Linux安装后首次设置root密码

    ① 1.sudo password root //给指定用户设置密码 2.sudo passwd root //给指定用户设置密码 ②su root //切换到指定用户

  10. linux安装配置SVN并设置钩子

    安装说明 系统环境:CentOS-6.3安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件 检查已安装版本 #检查是否安装了低版本的SVN 1 rpm ...

随机推荐

  1. iOS开发基础143-性能优化

    我们可以先构建一个详细的大纲,然后在每个部分详细阐述.下面是一个针对iOS性能优化的详细大纲: 一. App启动时间优化 A. 启动分类 冷启动 热启动 B. 冷启动优化 减少启动时的动态库加载 尽可 ...

  2. SpringSecurity:hasAuthority与自定义权限校验

    springsecurity中有两种权限控制方法 1.基于注解 @PreAuthorize("hasAuthority('syst:add')") 他的作用是在controller ...

  3. BeanUtils.copyProperties无法复制list对象,替换为lambda表达式

    List<Setmeal> setmeals = setmealMapper.selectList(queryWrapper); List<SetmealVO>vo=new A ...

  4. Linux下查看压缩文件内容的 10 种方法【转】

    转载地址:https://zhuanlan.zhihu.com/p/91593509 1.使用 Vim 编辑器 Vim 不仅仅是编辑器,它还包含其他许多强大的功能.下面的命令将直接显示压缩归档文件的内 ...

  5. SourceGenerator 生成db to class代码优化结果记录

    优化 上一次实验 代码写的较为随意,本次穷尽所学,优化了一把, 不过果然还是没 比过 Dapper aot, 虽然没使用 Interceptor, 但理论上其优化不该有这么大差距 知识差距不少呀,都看 ...

  6. 对比python学julia(第一章)--(第一节)万事开头也不难

    自1989年被创立以后,历经30多年的发展,Python已经如日中天,在运维.大数据.云计算.web.科学计算上混的风生水起,并且于2020.2021年蝉联TIOBE年度编程语言首座.以至于,如今不会 ...

  7. 【Java】关于获取注解的问题发现

    同事设置了个注解,想用Spring获取的Bean来找到Class获取注解 但是发现是空的,在查看的Spring返回Bean之后,发现这个Bean对象并不是原生的实例 而是被Spring代理增强的代理对 ...

  8. 【Project】JS的Map对象前后交互问题

    这是我在项目中写的一个Map对象: let map = new Map(); for (let i = 0; i < type_checked_value.length; i++) { let ...

  9. 【转载】 MPP大规模并行处理架构详解

    本文来自博客园,作者:五分钟学大数据 原文链接:https://www.cnblogs.com/itlz/p/14998858.html =============================== ...

  10. jQuery的基本操作总结

    什么是jquery? 就是一个用js的插件库   解决了原生dom的操作的兼容性和代码量 使用前需要引入它的js库 以下例子以 jQuery1.12.4.js  这个版本为例 一:jQuery入口函数 ...