linux 下 svn配置;以及多仓库配置
http://www.linuxidc.com/Linux/2016-01/127679.htm
https://blog.csdn.net/mrwu9902/article/details/78695511
https://blog.csdn.net/jesonjoke/article/details/77094867
https://blog.csdn.net/dl425134845/article/details/41978541
http://www.cnblogs.com/yangwenpeng/p/7264955.html
多仓库配置
一:
如何安装SVN,这里就不再重复描述了,可以参见我另一篇文章。链接如下
http://blog.csdn.net/dl425134845/article/details/41209763
重点描述一下如何配置多个版本库
进入到svn的安装目录/usr/local/svn/bin下,
先创建一个存放版本库的路径
mkdir -p /usr/local/svndata/
创建版本库1
./svnadmin create /usr/local/svndata/repos1
创建版本库2
./svnadmin create /usr/local/svndata/repos2
切换路径至/usr/local/svndata/repos1/conf
这里面有3个文件,分别为authz、passwd、svnserve.conf;
将authz和passwd这2个文件复制到/usr/local/svn目录下;
删除当前目录(/usr/local/svndata/repos1/conf)下的authz、passwd;
修改当前目录(/usr/local/svndata/repos1/conf)下的svnserve.conf;
重点是修改这4个参数
anon-access = none
auth-access = write
password-db = /usr/local/svn/passwd //这也是为什么上面讲passwd复制到/usr/local/svn路径下的原因
realm = XXXXX //这是svn连接时的提示信息
切换路径至/usr/local/svndata/repos1/hooks
复制post-commit.tmpl文件并且命名为post-commit, 命令如下: cp post-commit.tmpl post-commit
修改post-commit文件的属性,增加可执行权限, 命令如下:chmod -R +x post-commit
修改post-commit文件,,在末尾添加如下内容,把末尾几行没有注释掉的注释掉,修改内容如下:
WEB= /home/wwwroot/website1/ //这里指向的是你web发布存放代码的路径
export LANG=en_US.UTF-8
/usr/local/svn/bin/svn update $WEB --username 用户名 --password '密码'
至此版本库1修改完毕,同样修改版本库2,
关闭SVN,方法如下:
查看svn进程是否已经启动,ps -ef|grep svn 然后输入 kill 进程号 杀死该进程
启动SVN
切换到/usr/local/svn/bin目录下
输入命令:./svnserve -d -r /usr/local/svndata //注意,这里只输入到版本库的父母录即可,这样会加载里面所有的版本库
服务器上检出
./svn co svn://本机ip地址/repos1 /home/wwwroot/website1
./svn co svn://本机ip地址/repos2 /home/wwwroot/website2
结合 二;
引言 --- 上次我们介绍了 linux 上面安装 SVN 这次我们介绍 使用
post-commit钩子,完成服务器自动更新
什么是 post-commit
利用SVN的POST-COMMIT钩子自动部署代码 我们在开发的过程将代码提交到SVN后使用SVN的hook,通过post-commit脚本,在目 标文件夹根下执行svn update操作,将更新内容同步到测试环境,这样开发调试非常方便。
如何做
- 当我们安装建立好远端仓库后目录结构如下

进入 hooks 目录
shell cd hooks

我们可以看到有个 post-commit.tmpl 的文件。 这是官方提供的一个 template 。我们直接 copy 这个文件
shell cp -f post-commit.tmpl post-commit
注意: copy 后的文件没有后缀名称
- 编辑 post-commit 文件
shell vi post-commit
删掉除了第一行 #!/bin/sh 之后的所有文件 然后输入
```shell
#!/bin/sh
/usr/bin/svn update --username wenpeng --password wp113000 /home/wechat_service
# svn 命令路径 + update --username 您的用户名 --password 您的密码 您的服务器代码项目目录
```
- 即将完成 --- 最后一步 -- 修改权限
shell chmod +x post-commit
- Checkout一份代码到您的服务器代码项目目录
shell /usr/bin/svn checkout svn://127.0.0.1/wechat /home/wechat_service
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
单仓库配置;
一;
http://www.linuxidc.com/Linux/2016-01/127679.htm
安装步骤如下:
1、yum install subversion
2、输入rpm -ql subversion查看安装位置,如下图:

可以看到 svn在bin目录下生成了几个二进制文件。
再输入/usr/bin/svnversion --version 就可以查看svn的版本,这样就说明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 # 认证空间名,版本库所在目录
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos
10、在Windows上测试
二
1.安装svn
- yum -y install subversion
2.建立版本库目录并配置
- mkdir -p /var/www/svndata
- svnserve -d -r /var/www/svndata
3.建立版本库:创建一个新的Subversion项目
- svnadmin create /var/www/svndata/project
4.配置允许用户kinder访问
- cd /var/www/svndata/project/conf
- vi svnserve.conf
- [general]
- anon-access=none
- auth-access=write
- password-db=passwd
- vi passwd
- [users]
- kinder=123456
5.客户端连接
(如果svn未开启,进行开启操作)
- svnserve -d -r /var/www/svndata
- svn co svn://127.0.0.1/project
linux 下 svn配置;以及多仓库配置的更多相关文章
- Linux下SVN部署/安全及权限配置,实现web同步更新
转自:http://www.cnblogs.com/me115/archive/2013/04/07/3002058.html 本文包含以下内容: SVN服务器安装 SVN权限管理 SVN使用SASL ...
- Linux下svn服务器的安装与配置-备份-恢复-计划任务
简介:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subvers ...
- linux下svn客户端安装及环境配置(转)
一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136.d.iask.com/fs/800/1 ...
- Linux下SVN服务器搭建配置
Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...
- Linux下SVN服务器安装配置及客户端安装说明
原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...
- 转载-Linux下svn搭建配置流程
Linux下svn搭建配置流程 一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...
- linux下svn的安装与配置
---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...
- linux下svn(subversion)服务端添加工程及配置权限
linux下svn(subversion)服务端添加工程及配置权限 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html 此篇我只是将所做过的 ...
- Linux下SVN server 的使用及权限配置
[Linux下SVN server 的使用及权限配置] 参考:http://www.cnblogs.com/heinoc/p/3805779.html
- Linux 下 SVN 的安装和配置
SVN 是一个自由开源的版本管理系统,它可以按照时间的顺序去管理文件.目录以及对其进行的修改.于今,它被广泛的用于互联网公司的项目版本管理中 工作原理 它的工作原理如下图所示 它是由一个SVN服务器和 ...
随机推荐
- NOIP 模拟 $38\; \rm a$
题解 \(by\;zj\varphi\) 压行. 枚举两行,将中间的行压成一行,然后直接前缀和加二分. 注意边界细节问题. Code #include<bits/stdc++.h> #de ...
- 题解 Defence
传送门 发现最少次数只和最左,最右及中间最长的全0段有关 本来想启发式合并,结果发现直接线段树合并搭配一个类似山海经的方法就可以过了 yysy,线段树单次合并的具体复杂度并不是 \(O(logn)\) ...
- Java社区——个人项目开发笔记(二)
1.B\S架构通信原理 浏览器,服务器之间产生通信,浏览器访问服务器,服务器返回一个HTML,浏览器会对HTML进行解析,并渲染相关的内容. 在解析过程中,会发现HTML里引用了css文件,js文件, ...
- Docker运行PostgreSQL
docker-compose.yml version: '3.1' services: db: image: postgres restart: always ports: - 5432:5432 e ...
- 【HMC Core 6.0全球上线】图形计算服务新插件,助力高画质3D手游创新
HMS Core 6.0已于7月15日全球上线,本次新版本向广大开发者开放了众多全新能力与技术.其中华为图形计算服务(CG Kit)开放了体积雾插件和流体插件,为3D手游画面的提升提供了坚实的技术基础 ...
- 0x800b010a 证书
无论是装微软的什么应用,只要报这个错误,下载这个证书: http://download.microsoft.com/download/2/4/8/248D8A62-FCCD-475C-85E7-6ED ...
- vue去掉一些烦人的校验规则
例如:括号前没有加空格报错,很难受 如何处理呢,故意犯错,然后打开页面出现错误信息,如下图复制错误 space-before-function-paren 找到项目中的.eslintrc.js 添加一 ...
- linux系统下深度学习环境搭建和使用
作为一个AI工程师,对Linux的一些技能的掌握也能从一定层面反应工程师的资深水平. 要求1:基于SSH的远程访问(本篇文章) 能用一台笔记本电脑,远程登陆一台linux服务器 能随时使用笔记本电脑启 ...
- Layui form表单提交注意事项
// 表单提交form.on('submit(first1)', function (data) { var articleFrom = data.field; $.ajax({ type:" ...
- yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:
使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: 问题出现原因:yum包管理是使用python2 ...