#!/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. 如何打造高性能的 Go 缓存库

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/531 文中代码位置: https://github.com/devY ...

  2. postgresql无序uuid性能测试

    无序uuid对数据库的影响 由于最近在做超大表的性能测试,在该过程中发现了无序uuid做主键对表插入性能有一定影响.结合实际情况发现当表的数据量越大,对表插入性能的影响也就越大. 测试环境 Postg ...

  3. 菜鸟刷题路:剑指 Offer 05. 替换空格

    剑指 Offer 05. 替换空格 class Solution { public String replaceSpace(String s) { StringBuilder str = new St ...

  4. 【NX二次开发】Block UI 通过浏览选择文件

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  5. 不懂就问」CPU 到底是怎么识别代码的?

    近读到这样一篇文章,从底层硬件角度出发剖析了一下CPU对代码的识别和读取,内容之精彩,读完感觉学到的很多东西瞬间联系起来了,分享给猿们. 首先要开始这个话题要先说一下半导体.啥叫半导体? 半导体其实就 ...

  6. 再有人问你HashMap,把这篇文章甩给他

    搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java==集合中的精髓==了,如果你觉得自己对它掌握的还不够好,我想今天这篇文 ...

  7. NOIP模拟测试10「大佬·辣鸡·模板」

    大佬 显然假期望 我奇思妙想出了一个式子$f[i]=f[i-1]+\sum\limits_{j=1}^{j<=m} C_{k \times j}^{k}\times w[j]$ 然后一想不对得容 ...

  8. DOS命令行(10)——reg/regini-注册表编辑命令行工具

    注册表的介绍 注册表(Registry,台湾.港澳译作登錄檔)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息.   1. 数据结构 注册表由键(key,或称 ...

  9. 精尽Spring Boot源码分析 - SpringApplication 启动类的启动过程

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  10. 《手把手教你》系列基础篇(五)-java+ selenium自动化测试- 创建首个自动化脚本(详细教程)

    1.简介 前面几篇宏哥介绍了两种(java和maven)环境搭建和三大浏览器的启动方法,这篇文章宏哥将要介绍第一个自动化测试脚本.前边环境都搭建成功了,浏览器也驱动成功了,那么我们不着急学习其他内容, ...