svn搭建脚本
1、yum install subversion
2、输入rpm -ql subversion查看安装位置
我们知道svn在bin目录下生成了几个二进制文件。
输入 svn --help可以查看svn的使用方法,如下图。
3、创建svn版本库目录
mkdir -p /var/svn/svnrepos
4、创建版本库
svnadmin create /var/svn/svnrepos
执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件
5、进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan
7、设置权限
vi authz
在末尾添加如下代码:
[/]
dan=rw
w=r
意思是版本库的根目录dan对其有读写权限,w只有读权限。
8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
使用下面这个命令进行测试是否正常
svn list svn://10.0.0.10svn list svn://10.0.0.10
svn: E200002: Unable to connect to a repository at URL 'svn://10.0.0.10'
svn: E200002: /var/svn/svnrepos/conf/svnserve.conf:19: Option expected
以上情况是因为/var/svn/svnrepos/conf/svnserve.conf文件配置没有顶格写
svn: E220003: Unable to connect to a repository at URL 'svn://10.0.0.10'
svn: E220003: Invalid authz configuration
以上情况是authz文件没有顶格写配置
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos
10、在windows上测试()
新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN):
填写SVN的地址,如下图:
输入密码,如下图:
端口号:3690
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT #允许 3690 端口
service iptables save #保存 iptables 规则
Linux下SVN服务器自动更新文件到Web目录的方法
说明:
服务器操作系统:CentOS
服务器IP:127.0.0.1
SVN项目路径:/var/svn/svnrepos
SVN登录账号:root
SVN登录密码:root
Web站点根目录:/data/wwwroot/www.123.com
实现目的:
当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录
具体操作:
一、使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录
1. 首先导出一份svn的文件到网站目录
svn co file:///var/svn/svnrepos /data/wwwroot/www.123.com
2. 修改“提交后执行文件”post-commit.tmpl
cd /var/svn/svnrepos/hooks
mv post-commit.tmpl post-commit
chmod +x post-commit
vi post-commit
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8 #字符集,与服务器一致,可执行locale命令查看
svn update /data/wwwroot/www.123.com #更新svn
echo `date`,`whoami`,$REPOS,$REV >> /var/svn/svnrepos/hooks/svn_hook.log #记录时
间日志
chown -R root:root /data/wwwroot/www.123.com #将网站目录文件更改属主,>如果你是使用root用户更新的话
:wq! #保存退出
至此,Linux下SVN服务器自动更新文件到Web目录教程完成。
#!/bin/bash
read -p "输入svn的目录" svn_dir
#安装svn
yum install subversion
#创建svn版本库目录
mkdir -p $svn_dir
#创建版本库
svnadmin create $svn_dir
#设置账号密码,需要增加多个 直接按test格式添加
cat >>$svn_dir/conf/passwd<<EOF
test = 123456
EOF
#用户授权 等号前是组后面是用户,多个用户用逗号隔开
cat >>$svn_dir/conf/authz<<EOF
test = test
[/]
@test = rw
* =
EOF
#修改svnserve.conf配置文件
sed -i 's/# anon-access = read/anon-access = none/g' $svn_dir/conf/svnserve.conf
sed -i 's/# auth-access = write/auth-access = write/g' $svn_dir/conf/svnserve.conf
sed -i 's/# password-db = passwd/password-db = passwd/g' $svn_dir/conf/svnserve.conf
sed -i 's/# authz-db = authz/authz-db = authz/g' $svn_dir/conf/svnserve.conf
#启动svn服务
svnserve -d -r $svn_dir
#检查svn是否启动
ss -lnp|grep 3690
svn搭建脚本的更多相关文章
- linux下svn 搭建
linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion yum安装SVN#mkdir -p /opt/svn/repos 创建s ...
- jenkins和svn搭建自动代码构建发布
jenkins安装和配置 .安装jenkins .yum install java wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins. ...
- Docker+Jenkins+Maven+SVN搭建持续集成环境
Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...
- 转载-Linux下svn搭建配置流程
Linux下svn搭建配置流程 一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...
- svn搭建
原文:svn搭建 二.Subversion的安装与测试 Subversion的配置方式有很多种,同时也可以配置不同的操作系统之上,本文我讲解的是Subversion 1.5.4 for Apache2 ...
- Hudson+Maven+Svn搭建持续集成环境
Hudson+Maven+Svn搭建持续集成环境 博客分类: 配置管理 mavenSVNTomcat项目管理配置管理 一.所用开发工具 1. Hudson: Hudson 是一种革命性的开放源码 ...
- Svn———搭建及配置
一.Svn介绍 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows ...
- 【SVN】Linux下svn搭建配置全过程——初学者轻松上手篇
版本控制主要用到的是git和svn,其中svn界面化使用操作简单,本篇简单介绍SVN搭建配置全过程. 1. 下载并安装 yum install subversion 查看版本 svnserve --v ...
- Windows下SVN备份脚本
本站备份:svn备份与还原_脚本_(dump命令) 以下是转载记录, 转自:https://wuxiaobai.win/archives/111 用法 svnadmin dump REPOS_PATH ...
随机推荐
- 在 React项目中使用 bootstrap
在使用create-react-app 创建的项目中使用 bootstrap; 安装react-bootstrap; npm install react-bootstrap --savenpm ins ...
- 跟我一起玩Win32开发(8):绘图(A)
从本篇开始,我就不吹牛皮,那就吹吹兔皮吧.说说与绘图有关的东东. 要进行绘制,首先要得到一个DC,啥是DC呢?按字面翻译叫设备上下文,也可以翻译为设备描述表,它主要指API为我们封装了一些与显示设备相 ...
- AtCoder Regular Contest 081 F - Flip and Rectangles
题目传送门:https://arc081.contest.atcoder.jp/tasks/arc081_d 题目大意: 给定一个\(n×m\)的棋盘,棋盘上有一些黑点和白点,每次你可以选择一行或一列 ...
- oracle 函数、聚焦函数
oracle 常用的函数 以及 聚焦函数 --1,字符函数 --当没有表可以用个的时候oracle自带一个虚表dual -- || 表示连接符号 将字符串连接到一起 式显示 Lower(char):将 ...
- 基于Java实现的冒泡排序算法
冒泡排序是一种简单基础的排序算法,相信在大学课堂里老师已经讲过了,现在我基于Java来实现一遍. 简述 冒泡排序正如其关键词一样,杂乱的气泡经过浮动,最后大的气泡飘到了上面而小的气泡在下面,无序的元素 ...
- 26款优秀的Android逆向工程工具
26款优秀的Android逆向工程工具
- C# 移动开发 MasterDetailPage 关闭时报错问题
至上次发表的 MasterDetailPage界面做主App,折腾10天,终于知道问题所在.. 泪奔的是解决这个问题只要一句代码 在MainActivity.cs里 [Activity(Label = ...
- 基于jmeter和shell的接口性能自动化
基于jmeter和shell的接口性能自动化 1. 总体需求 由于性能测试中涉及的查询接口多,版本迭代频繁,版本更新后自动跑一轮查询业务的性能,可以及时发现一些开发修复bug触发的非预期的bug,利用 ...
- loadrunner11报错:Error -27780
LR回放https协议脚本失败:[GENERAL_MSG_CAT_SSL_ERROR]connect to host "XXX" failed:[10054] Connection ...
- SQLite_Home
SQLite教程 SQLite是一个库,实现了一个独立的软件,serverless zero-configuration.事务SQL数据库引擎.SQLite是世界上最广泛的部署SQL数据库引擎.SQL ...