#!/bin/sh REPOS="$1" REV="$2" export LANG=en_US.UTF-8 LOG_PATH=/tmp/svn.log echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH echo `whoami`,$REPOS,$REV >> $LOG_PATH /usr/bin/svn co svn://39.102.74.157/test /usr/share/nginx/html/svn/svnrepos/test/ /usr/bin/svn update /usr/share/nginx/html/svn/svnrepos/test/ -username shanzezhao --password 123456 chown -R 777 /usr/share/nginx/html/svn/svnrepos/test/子曰:“学而不思则罔,思而不学则殆”;

centos操作系统下安装svn:

1.查询是否安装

rpm -qa subversion

  如果想删除svn运行

yum remove subversion  

2.如果没有使用则运行以下操作  

yum -y install  subversion

3.此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

  若需查看svn安装路径,可以用以下命令:

rpm -ql subversion

4.创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

  本人选择在/usr/share/nginx/html/svn路径下创建版本库,当前处于根目录下,一次性创建如下:

mkdir /usr/share/nginx/html/svn/svnrepos

5.创建svn版本库

  在上边建立的路径基础上,创建版本库,命令如下:

svnadmin create  /usr/share/nginx/html/svn/svnrepos/test

(test为你预期的版本库名称,可自定义)

6.创建成功后,进入test目录下

cd /usr/share/nginx/html/svn/svnrepos/test

7.进入目录,可以看见如下文件信息:

8.修改配置

cd /usr/share/nginx/html/svn/svnrepos/test/conf

9. cd conf目录下,一共存放三份重要的配置文件,如下:

    authz:负责账号权限的管理,控制账号是否读写权限

    passwd:负责账号和密码的用户名单管理

    svnserve.conf:svn服务器配置文件

10.修改这三个文件

vi authz

   只需在末尾添加,无需在文件其他部分修改和添加任何东西,末尾内容如下:

  [\]

  账号1 = rw

  账号1 = rw

  #切记!如果先设置成这样的[\]的话 服务器后边svn提交更新的时候报错 请修改成[/]就好了

  rw表示赋予此账号可读写的权限

11.修改passwd文件信息

vi passwd

  

  账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:

  账号 = 密码

  例如:test= 123456

12.修改svnserve.conf(重要

  #authz-db = authz 如果此条去掉后,虽然svn服务器可以连接,但一直会提示“认证失败”,注释掉即可正常

  realm = My First Repository去掉注释即可,无需做任何修改

  到此,配置已经全部完成,账号信息已经添加成功

13.防火墙 关闭就可以  如需开启防火墙的状态按照一下操作

find / -name iptables

  本人的是这个  你们可以搜一下你们的

usr/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

/etc/init.d/iptables save

service iptables restart

14.启动svn服务器

svnserve -d -r /usr/share/nginx/html/svn/svnrepos

启动成功后,可用ps -aux查看服务启动是否成功

15.自动更新部署  (搭建svn都不是仅仅为了把代码存到仓库,而是同步部署到对应的项目。)

  在 /usr/share/nginx/html/svn/svnrepos/test/hooks目录的 hooks 里面有一堆tmpl,今天我们就说一下自动部署post-commit.tmpl,

  tmpl文件是模版文件,我们要用post-commit需要手动复制对应tmpl里面的内容到新的post-commit里面。

cd  /usr/share/nginx/html/svn/svnrepos/test/hooks
cp post-commit.tmpl post-commit

  使用ftp软件打开 刚刚新建的post-commit 文件,清空文件

16.修改post-commit文件

  然后打开文件清空内容,修改为以下代码:

#!/bin/sh    #其中第一行意思是:用sh来解析这个脚本,因为各种shell的语法有细微的差别

REPOS="$1"

REV="$2"

export LANG=en_US.UTF-8  #第二行是编码格式:这里我使用的是UTF-8   有的是GBK格式会报错!!

LOG_PATH=/tmp/svn.log

echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH

echo `whoami`,$REPOS,$REV >> $LOG_PATH   #这是一个操作日志  可加可不加

/usr/bin/svn co svn://39.102.74.157/test /usr/share/nginx/html/svn/svnrepos/test/     

/usr/bin/svn update /usr/share/nginx/html/svn/svnrepos/test/ --username test --password 123456  

#最后一行/usr/bin/svn 是svn的路径,不是项目路径,应该都是一样的,后半句分别是用户名、密码、和项目路径--username这个比较坑了,前面其实是两个减号,英文输入法下的 chown -R 777 /usr/share/nginx/html/svn/svnrepos/test/

#!/bin/sh REPOS="$1" REV="$2" export LANG=en_US.UTF-8 LOG_PATH=/tmp/svn.log echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH echo `whoami`,$REPOS,$REV >> $LOG_PATH /usr/bin/svn co svn://39.102.74.157/test /usr/share/nginx/html/svn/svnrepos/test/ /usr/bin/svn update /usr/share/nginx/html/svn/svnrepos/test/ -username shanzezhao --password 123456 chown -R 777 /usr/share/nginx/html/svn/svnrepos/t

  

linux服务器安装svn超详细介绍的更多相关文章

  1. 手把手教你启用Win10的Linux子系统(超详细)

    原文:手把手教你启用Win10的Linux子系统(超详细) 版权声明:转载请保留出处,谢谢! https://blog.csdn.net/zhangdongren/article/details/82 ...

  2. Linux中systemctl命令详细介绍

    Linux Systemctl是一个系统管理守护进程.工具和库的集合,用于取代System V.service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器.通过Syst ...

  3. linux的目录结构详细介绍

    linux的目录结构详细介绍 1. /目录(根目录) 2./ect/目录 特定主机系统范围内的配置文件. 3./usr/目录 默认软件都会存于该目录下.用于存储只读用户数据的第二层次:包含绝大多数的用 ...

  4. linux下top命令详细介绍

    linux下top命令详细介绍 top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显 ...

  5. Linux搭建SVN服务器详细教程

    前言 本文讲解Linux系统下如何搭建SVN服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置. SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统 ...

  6. Linux sar命令工具详细介绍

    sar命令工具详细介绍 by:授客 QQ:1033553122 由于篇幅限制,采用网盘分享, 下载地址: sar命令工具详细介绍.pdf

  7. 【Linux】Linux目录结构及详细介绍

    00. 目录 01. 常用目录介绍 /:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区 ...

  8. 『学了就忘』Linux基础 — 6、VMware虚拟机安装Linux系统(超详细)

    目录 1.打开VMware虚拟机软件 2.选择Linux系统的ISO安装镜像 3.开启虚拟机安装系统 (1)进入Linux系统安装界面 (2)硬件检测 (3)检测光盘 (4)欢迎界面 (5)选择语言 ...

  9. Linux下VI命令详细介绍

       vi 是"Visual Interface" 的简称,它在Linux 上的地位就仿佛Edit 程序在DOS上一样.它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且 ...

随机推荐

  1. 【NX二次开发】获取用户输入的字符串uc1603

    效果: 源码: extern DllExport void ufsta(char *param, int *returnCode, int rlen) { UF_initialize(); strin ...

  2. 练习(time.tick定时器监控数据库)

    设立个定时器,监控数据库里fb_state(发布状态),并将数据库中一条记录的开始时间与截止时间和当前时间进行比对.若当前时间在开始时间与结束时间之间,则将发布状态设为1,否则为0. 同时,将此段代码 ...

  3. 每天凌晨 2:00 将 mysql 数据库 testdb ,备份到文件中。

    步骤:1, 首先编写一个 脚本 backupdb.sh#!/bin/bash #备份路径 BACKUP=/data/backup/sql/dy #当前时间 DATETIME=$(date +%Y-%m ...

  4. docker入门详解

    这可能是最为详细的Docker总结 Docker是什么? 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是十分普遍的,甚至成为了一些企 ...

  5. 【题解】Luogu P2327 [SCOI2005]扫雷

    Luogu P2327 [SCOI2005]扫雷 Description 相信大家都玩过扫雷的游戏.那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了,"余" ...

  6. Spring Cloud专题之三:Hystrix

    在微服务架构中,我们将系统拆分成很多个服务单元,各单位的应用间通过服务注册与订阅的方式相互依赖.由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问 ...

  7. 【spring源码系列】之【Bean的生命周期】

    为源码付出的每一分努力都不会白费. 1. Bean的实例化概述 前一篇分析了BeanDefinition的封装过程,最终将beanName与BeanDefinition以一对一映射关系放到beanDe ...

  8. Arduino库和STM32的寄存器、标准库、HAL库、LL库开发比较之GPIO

    标题: Arduino库和STM32的寄存器.标准库.HAL库.LL库开发比较之GPIO 作者: 梦幻之心星 sky-seeker@qq.com 标签: [#Arduino,#STM32,#库,#开发 ...

  9. js笔记11

    1.针对表单的 from  input  select  textarea type="radio/checkbox/password/button/tetx/submit/reset/&q ...

  10. No serializer found for class com.bean.user and no properties discovered to create BeanSerializer

    解决方法: 方法1:将bean目录下的实体类属性由private改为public(不推荐): 方法2:给实体类属性设置setter和getter方法(推荐使用).