linux服务器安装svn超详细介绍
#!/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超详细介绍的更多相关文章
- 手把手教你启用Win10的Linux子系统(超详细)
原文:手把手教你启用Win10的Linux子系统(超详细) 版权声明:转载请保留出处,谢谢! https://blog.csdn.net/zhangdongren/article/details/82 ...
- Linux中systemctl命令详细介绍
Linux Systemctl是一个系统管理守护进程.工具和库的集合,用于取代System V.service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器.通过Syst ...
- linux的目录结构详细介绍
linux的目录结构详细介绍 1. /目录(根目录) 2./ect/目录 特定主机系统范围内的配置文件. 3./usr/目录 默认软件都会存于该目录下.用于存储只读用户数据的第二层次:包含绝大多数的用 ...
- linux下top命令详细介绍
linux下top命令详细介绍 top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显 ...
- Linux搭建SVN服务器详细教程
前言 本文讲解Linux系统下如何搭建SVN服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置. SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统 ...
- Linux sar命令工具详细介绍
sar命令工具详细介绍 by:授客 QQ:1033553122 由于篇幅限制,采用网盘分享, 下载地址: sar命令工具详细介绍.pdf
- 【Linux】Linux目录结构及详细介绍
00. 目录 01. 常用目录介绍 /:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区 ...
- 『学了就忘』Linux基础 — 6、VMware虚拟机安装Linux系统(超详细)
目录 1.打开VMware虚拟机软件 2.选择Linux系统的ISO安装镜像 3.开启虚拟机安装系统 (1)进入Linux系统安装界面 (2)硬件检测 (3)检测光盘 (4)欢迎界面 (5)选择语言 ...
- Linux下VI命令详细介绍
vi 是"Visual Interface" 的简称,它在Linux 上的地位就仿佛Edit 程序在DOS上一样.它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且 ...
随机推荐
- Appium_adb常用命令总结
以下为在工作学习过程中总结的常用的adb命令,用来做后续参考和查阅: 一.常用命令 显示当前运行的全部模拟器: adb devices 安装应用程序: adb install 应用程序.apk 备注 ...
- Kubernetes 实战——配置应用(ConfigMap、Secret)
配置容器化应用的方式:①命令行参数:②环境变量:③文件化配置 一.向容器传递命令行参数或环境变量 这两种方式在 Pod 创建后不可被修改 1. 在Docker中定义命令与参数 ENTRYPOINT:容 ...
- 四、SSL虚拟证书
沿用练习三,配置基于加密网站的虚拟主机,实现以下目标: 域名为www.c.com 该站点通过https访问 通过私钥.证书对该站点所有数据加密 4.2 方案 源码安装Nginx时必须使用--with- ...
- Linux Oracle 中文乱码解决
1.Linux操作系统Oracle11g设置别名的时候发现中文乱码 2.直接修改环境变量 添加 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 3.执行命令使环境变 ...
- 重新整理 .net core 实践篇————polly失败重试[三十四]
前言 简单整理一下polly 重试. 正文 在开发程序中一般都有一个重试帮助类,那么polly同样有这个功能. polly 组件包: polly 功能包 polly.Extensions.Http 专 ...
- Unity中各种查找物体的方法
本文转自博主:Teng的世界 https://blog.csdn.net/teng_ontheway/article/details/47188141 GameObject.Find().Transf ...
- 流程自动化RPA,Power Automate Desktop系列 - 批量备份Git仓库做好灾备
一.背景 打个比如,你在Github上的代码库需要批量的定时备案到本地的Gitlab上,以便Github不能访问时,可以继续编写,这时候我们可以基于Power Automate Desktop来实现一 ...
- 正则表达式_爬取豆瓣电影排行Top250
前言: 利用简单的正则表达式,获取响应内容爬取数据. Part1 正则表达式(Regular Expression) 1.1 简介 正则表达式,又称规则表达式,它是一种文本模式,就是通过事先定义好的一 ...
- 资源:Hadoop安装包下载路径
下载路径 Hadoop所有版本:http://archive.apache.org/dist/hadoop/common/
- 想成为Java高手的25个学习目标
本文将告诉你学习Java需要达到的25个目标,希望能够对你的学习及找工作有所帮助.对比一下自己,你已经掌握了这25条中的多少条了呢? 1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GO ...