svn hook同步更新web
来源:互联网 发布:在node中怎样进入目录 编辑:程序博客网 时间:2024/05/16 14:29
使用svnadmin create 创建一个版本库:
svnadmin create REPO
每个版本库的目录下有一个hooks目录:
root@SVN:/home/svn/repo# ls /home/svn/repo/
conf dav db format hooks locks README.txt
在每个版本库下有hooks文件夹,里面有很多钩子程序:
root@SVN:/home/svn/repo# ls -l hooks/
total 40
-rwxr-xr-x 1 www-data www-data 332 2010-05-30 16:47 post-commit
-rw-r–r– 1 www-data www-data 2000 2010-05-30 15:22 post-commit.tmpl
-rw-r–r– 1 www-data www-data 1663 2010-05-29 23:28 post-lock.tmpl
-rw-r–r– 1 www-data www-data 2322 2010-05-29 23:28 post-revprop-change.tmpl
-rw-r–r– 1 www-data www-data 1592 2010-05-29 23:28 post-unlock.tmpl
-rw-r–r– 1 www-data www-data 3488 2010-05-29 23:28 pre-commit.tmpl
-rw-r–r– 1 www-data www-data 2410 2010-05-29 23:28 pre-lock.tmpl
-rw-r–r– 1 www-data www-data 2796 2010-05-29 23:28 pre-revprop-change.tmpl
-rw-r–r– 1 www-data www-data 2100 2010-05-29 23:28 pre-unlock.tmpl
-rw-r–r– 1 www-data www-data 2830 2010-05-29 23:28 start-commit.tmpl
在执行commit操作之后会自动执行post-commit这个钩子程序。
因此可以设置post-commit来自动更新:
操作步骤如下:
1. 使用checkout建立一个工作复本
mkdir /home/web
root@SVN:/home# chown www-data:www-data web
ls -l web
drwxr-xr-x 2 www-data www-data 4096 2010-05-30 16:15 web
必须使用apache的所属用户和组(在ubuntu下面的是www-data)来执行:check out
root@SVN:/home/web# sudo su www-data
$ cd /home/web
$ svn checkout http://svn.love.com/svn/repo/www/
Authentication realm: <http://svn.love.com:80> Repo Auth
Password for ‘www-data’:
Authentication realm: <http://svn.love.com:80> Repo Auth
Username: jack
Password for ‘jack’:
———————————————————————–
ATTENTION! Your password for authentication realm:
<http://svn.love.com:80> Repo Auth
can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the ‘store-plaintext-passwords’ option to either ‘yes’ or ‘no’ in
‘/var/www/.subversion/servers’.
———————————————————————–
Store password unencrypted (yes/no)? yes
连续输入2次 “yes”
root@SVN:/home/web# ls -al www/
drwxr-xr-x 6 www-data www-data 4096 2010-05-30 16:18 .svn
可以看到.svn的权限,userown、goupown都是www-data
2,使用svn update测试,看www-data用户是否有权限更新。
$ svn update /home/web/www –username svnuser –password svnpasswd
在连续输入2次”yes”或者”no”之后、可以看到已经更新成功:
Store password unencrypted (yes/no)? At revision 37.
3,在hooks目录下面的添加一个post-commit脚本文件
#!/bin/sh
REPOS=”$1″
REV=”$2″
export LANG=en_US.UTF-8
svn update /home/web/www –username svnuser –password svnpasswd
在客户端commit后报错
sudo su www-data
$ cd /home/svn/repo/hooks
$ ./post-commit
提示:
Store password unencrypted (yes/no)?
在svn update –help中找到了 –no-auth-cache 这个参数:
–no-auth-cache : do not cache authentication tokens
加上这个参数后终于可以了:
root@SVN:/home/svn/repo/hooks# cat post-commit
#!/bin/sh
REPOS=”$1″
REV=”$2″
export LANG=en_US.UTF-8
svn update /home/web/www –username svnuser –password svnpasswd –no-auth-cache
- svn hook同步更新web
- svn hook同步更新svn到web服务器
- SVN+WEB同步更新
- centOS下svn更新与线上web代码的同步
- linux centos svn 安装配置自动同步更新web服务
- linux centos svn 安装配置自动同步更新web服务
- Ubuntu 14.04 下安装svn服务器,同步更新web服务器
- 实现svn更新自动同步到web目录
- SVN命令行同步更新
- SVN同步(更新)版本控制报错:svn: Working copy '...\WEB-INF\classes\com' is missing
- SVN+网站服务器同步更新
- SVN 网站服务器同步更新
- Linux下SVN部署/安全及权限配置,实现web同步更新
- windows下svn服务器与web 站点的自动同步更新
- Linux下SVN部署/安全及权限配置,实现web同步更新
- 阿里云服务器安装wdcp面板和SVN服务器,以及实现同步更新web根目录
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Windows下SVN服务器与服务器Web站点同步更新代码
- java文件读写操作指定编码格式
- Windows下批量删除.svn文件
- Java jdbc数据库连接池总结!
- 手动进行Excel数据和MySql数据转换
- svn: 目录中的条目从本地编码转换到 UTF8 失败 解决办法
- svn hook同步更新web
- SVN项目交叉
- 再发一个J2ME和WAP网页实现拨号功能(很有价值哦)
- Linux上搭建java环境
- shell su
- SVN checkout 不使用账户和密码
- svn 命令大全
- linux下expect安装
- Linux 生成SSL证书 供 nginx使用。