SVN同步版本库与网站目录
如何创建SVN版本库及同步文件到WEB目录
来源:空谷
一 安装与配置SVN
1.安装subversion
centos: yum install subversion ubuntu: apt-get install subversion
2.建立版本库,本例中我们的版本库建立在/var/svn,假设该版本库目录为:foo
cd /var mkdir svn svnadmin create foo
3.配置版本库
刚才建立的版本库,需要配置认证方式,用户名和密码,权限配置这三个文件,分别对应/var/svn/foo/conf下的
svnserve.conf,passwd和authz这三个文件。
svnserve.conf(去掉注释) anon-access = none auth-access = write password-db = passwd authz-db = authz.conf
realm = 填写登录时提示的认证域名称
passwd文件添加相应用户名和密码:
user1 = password1 user2 = password2
如果要使用通用的用户名密码和权限认证,指定password-db和authz-db路径到相应passwd和authz.conf文件位置即可
authz文件添加相应用户名到组并分配库权限:
[groups] foo_user = user1,user2 (多个用户以逗号分隔) [/] @foo_user = rw * =
其中*=意味着匿名用户没有权限,引用组名时要加上@符号
4.启动和使用
配置成功以后,启动svn版本库服务
svnserve -d -r /var/svn
获取版本库:
svn co svn://ip地址/foo
服务器上可以直接使用 svn co file:///var/svn/foo
二、同步到WEB目录
1.创建web目录(已有目录则略过)
cd /var mkdir www chmod 777 www
2.检出副本到/var/www
svn co file:///var/svn/foo
3.增加hooks(钩子)文件
在/var/svn/foo/hooks/目录中
# start-commit 提交前触发事务
# pre-commit 提交完成前触发事务
# post-commit 提交完成时触发事务
# pre-revprop-change 版本属性修改前触发事务
# post-revprop-change 版本属性修改后触发事务
我们这里只需要修改post-commit文件:
cp post-commit.tmpl post-commit
编辑该文件
#!/bin/sh # 配置库地址 REPOS=”$1″ REV=”$2″ # WEB目录 BASEPATH=/var/www # web文件夹名与svn库名相同 NAME=$(basename $REPOS) WEBPATH=”$BASEPATH/$NAME” # 避免中文信息乱码 export LANG=”zh_CN.UTF-8″ # 可以配合svnlook命令更新指定目录 svn update $WEBPATH –username=user1 –password=password1 –no-auth-cache
保存后需要修改post-commit文件权限为755,否则SVN无法调用执行
chmod 755 post-commit
SVN同步版本库与网站目录的更多相关文章
- SVN同步版本库与网站目录2
定义: SVN版本库 = /home/svn/repos 网站目录 = /var/www/web 1.检出一个项目到网站目录 #svn checkout file:///home/svn/ ...
- svn创建版本库和删除版本库
作者:朱金灿 来源:http://blog.csdn.net/clever101 svn创建版本库的做法:使用cd命令进入版本仓库的根目录,我的是E:\Repository,然后运行命令: svnad ...
- SVN+post-commit 搭建自动同步版本库
一.需求. 本地文件上传到测试环境svn,测试环境同步到生产环境rsync.开发环境与测试环境与生产环境分离. 二.搭建SVN服务器. yum -y install subversion && ...
- SVN跨版本库迁移目录并保留提交日志
现在有一份代码code在版本库reposA/dirB/下,现在想把它移动到reposB/dirAA/下,本来打算交给SA做,没想到SA似乎 也不太懂的样子.于是,自己在VPS搭建了一个svnserve ...
- SVN:多版本库环境的搭建
一. 1,启动SVN sudo svnserve -d -r /home/data/svn/ 其中 -d 表示守护进程, -r 表示在后台执行 /home/data/svn/ 为svn的安装目录 2 ...
- win7系统svn创建版本库
1. 在svn所在的服务器上, 找到它的目录, 右击创建项目名称文件夹, 然后右击该文件夹创建版本库 2. 创建版本库之后, 会出现几个文件夹, 打开conf文件夹, 修改里面的配置文件 3. 在自 ...
- SVN访问版本库精细的权限控制
SVN精细权限控制本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义.除此之外的其他配置.安装等内容,不是 ...
- linux下使用svn创建版本库和权限管理
linux上的svn服务端如何和本地的电脑客户端结合使用 Linux上安装SVN服务器: 第一步:检查是否已安装 # rpm -qa subversion 第二步: 通过yum命令安装svnserve ...
- Linux配置svn服务器版本库
1)创建版本库首先使用yum安装subversion 2)创建版本库 svnadmin create /home/svn/svnfile 3)进入conf目录 authz ...
随机推荐
- 2018-2019-2 20165209 《网络对抗技术》Exp3:免杀原理与实践
2018-2019-2 20165209 <网络对抗技术>Exp3:免杀原理与实践 1 免杀原理与实验内容 1.1 免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中 ...
- SpringBoot之RESTFul风格的接口调用(jQuery-Ajax)
一.Get $.ajax({ type: "get", url: "url地址", async: true, dataType:"json" ...
- NetSuite助力各行业企业快速发展
Oracle NetSuite今天发布了一系列全新技术创新,帮助各行各业企业提升收入.海外扩张以及赋能更多业务用户.最新推出的商务管理.财务管理和分析能力可协助企业利用NetSuite平台来超越客户预 ...
- MySQL数据库----存储过程
存储过程 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql -- 存储过程的优点: -- 1.程序与数据实现解耦 -- 2.减少网络传输的 ...
- Django popup示例
urls.py urlpatterns = [ url('popup_test1',views.popup_test1), url('popup_test2',views.popup_test2), ...
- 20145105 《Java程序设计》实验三总结
实验三 一. 实验内容 结对修改实验一代码,重点学习重构 二. 实验步骤 下载结伴同学的实验一代码 初始代码 进行整数.小数和负数的多组数据测试,发现一个运行错误的例子 分析后 ...
- CMD运行后关闭CMD 的窗口命令
在命令前加上Start 例(打开服务管理):start services.msc
- python_paramiko_SSHException Invalid requirement, parse error at
不加sleep(0.5)会出现SSHException: Invalid requirement, parse error at " '' "问题,原因暂时未知. 结论如下 如果不 ...
- luogu P2073 送花 线段树
思路&心路 一眼认定沙比提 写的比较慢,写了1小时吧 开心的交上去 卧槽,只有20? 不服不服,拿着题解的代码去对拍 Emma,<100没问题 100000数据错了,还只是错了一个数据 ...
- TeeChart的坐标轴
TeeChart一共有六个坐标轴,一下是默认值 tChart1.Axes.Bottom.Visible = true;//横轴 tChart1.Axes.Left.Visible = true;//纵 ...