设置SVN hooks实现自动发布

# CentOS下安装SVN
yum -y install subversion
svnserve --version
cd /home/
mkdir svn
cd svn/

/usr/bin/svnserve -d -r /home/svn/        # 启动SVN服务
svnadmin create /home/svn/test/        # 创建版本仓库

vi /etc/rc.local
# 新增以下内容
/usr/bin/svnserve -d -r /home/svn/

# 先设置 passwd ,并文件移动到 /home/svn 下
[users]
funsion=123
# 语法:用户名=密码

# 再设置权限authz ,并文件移动到 /home/svn 下
[/]
funsion=rw
# 意思是funsion用户对所有的目录有读写权限,当然也可以限定。

最后设定 snvserv.conf
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = /home/svn/passwd
authz-db = /home/svn/authz   # 访问控制文件
realm = /home/svn/test    # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
# 采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

设置 SVN hooks(SVN自动发布)

cd /home/svn/test/hooks/
cp post-commit.tmpl post-commit

# 给post-commit文件增加执行权限
chmod -R 744 post-commit

# 修改post-commit文件,加入所需的钩子
# 比如我使用的是

#!/bin/sh
export LANG = en_US.UTF-8
REPOS="$1"
REV="$2"
/usr/bin/svn update --username funsion --password 567890 /home/wwwroot/www.test.com
/bin/chown -R www:www /home/wwwroot/www.test.com
时间: 2024-10-13 15:58:34

设置SVN hooks实现自动发布的相关文章

svn关联Jenkins自动发布代码

SVN的仓库hooks的原理是这样的: 当你对该仓库执行一些操作时,比如创建一个新的revision版本或修改一个未版本化的属性,就会触发hooks目录下的相应程序.操作的事件(或时间节点)是跟程序文件名相对应的.举个例子,post-commit,代表,你往该仓库提交完成后,如果此时hooks目录下有一个叫做post-commit的程序文件的话,该程序就会被触发执行.该程序文件可以是任意可执行的程序,比如shell脚本.python脚本.二进制程序等,它需要有可执行权限. SVN在执行该hook

svn 版本管理与自动部分发布

作为团队开发项目时,会遇到项目的版本管理,测试部署与发布部署,下面是摘至他人的关于版本管理和自动部署的方案. svn自动部署的实现: 使用svn的hook功能 1.在版本库的hooks目录下面,有一些基于事件触发的执行脚本,比如post-commit, 去掉后缀.tmpl 2.编辑svn代码库服务器上文件: svn/test/hooks/post-commit #!/bin/sh REPOS="$1" REV="$2" export PATH="/usr/

svn 版本管理与自动部分发布(转)

作为团队开发项目时,会遇到项目的版本管理,测试部署与发布部署,下面是摘至他人的关于版本管理和自动部署的方案. svn自动部署的实现: 使用svn的hook功能 1.在版本库的hooks目录下面,有一些基于事件触发的执行脚本,比如post-commit, 去掉后缀.tmpl 2.编辑svn代码库服务器上文件: svn/test/hooks/post-commit #!/bin/sh REPOS="$1" REV="$2" export PATH="/usr/

配置SVN的hooks功能自动更新代码

前言解读 用过SVN的小伙伴们,都应该知道hooks(钩子)这个功能,的确日常企业内部测试环境经常会用过这个"特殊"的功能,今天来聊一聊SVN hooks 为何而用? 传统的WEB网站代码发布基本依靠手工操作 大概的整个流程如下: 开发本地环境开发代码 提交SVN版本库 然后将本地环境代码使用工具上传至待发布目录 备份原WEB站点代码目录 发布新代码至WEB目录 基于这类重复操作的问题,为了提高效率,因此,引入了SVN hooks功能 配置SVN hooks SVN安装这里就不赘述了,

svn hooks 同步设置

昨天配置了一下午svn  hooks 本了很简单的一件事情,却因为 一个https弄的异常难搞. 在hooks的目录下,编辑 post_commit之后,始终无法updae,原因是,需要ssl验证主机. 在网上查看了下,用了svn ls  https://****之后,弹出需要确认,输入p,输入密码之后还是不行. 于是,我怀疑是用户的是.svn+apache  做的https协议.应该是用apache用户跑的吧. 可是apache用户我设置的是没有登陆权限的.怎么办? 只好usermod  修改

Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法

首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion 2,创建版本库 svnadmin create /home/myrepos    //这里的文件目录自己随便设置 3,配置svnserve 上述版本库/home/myrepos建立后在文件夹下会生成conf文件夹,进入/home/myrepos/conf下面会有下面3个文件 authz passwd 

SVN配置以及自动部署到apache虚拟目录

SVN配置以及自动部署到apache虚拟目录 一.VisualSVN server 服务端和TortoiseSVN客户端下载 VisualSVN下载:http://subversion.apache.org/packages.html 页面最下方就可以找到(下图紫色链接) TortoiseSVN下载:http://tortoisesvn.net/downloads.html 下载的地方很醒目,有32位和64位 紧接着下边有语言包下载 二.VisualSVN server和TortoiseSVN安

在linux服务器上装svn版本管理,自动部署代码到项目

在linux服务器上装svn版本管理,自动部署代码到项目 http://bbs.aliyun.com/read/9715.html?spm=5176.7114037.1996646101.1.W3zw3X&pos=1 http://v5sheji.com/archives/setupsvnonlinux.html 1.安装svn服务器端  yum install subversion 从镜像下载安装svn服务器端 中间会提示是否ok,输入y,确认 安装成功提示:.....complete! 依次

使用VisualSVN Server自动发布站点

使用VisualSVN Server自动发布站点可以节省大量的发布时间. 适用于项目测试版本 通常一个项目在测试阶段会遇到以下问题 1.开发人员修改缺陷要实时反应到测试环境 2.项目经理想让客户及时看到缺陷修改的结果 3.不要求测试环境程序稳定,但要求更新及时 4.部署人员想偷懒 5.位于不同地点.但各自都可以发布版本的小团队 下面看看步骤 1.在SVN服务器上第一次checkout版本 "D:/Program Files/VisualSVN Server/bin/svn.exe" c