svn php自动化部署,Apache下使用SVN自动部署代码

本文介绍了如何将SVN与FTP进行联动,实现在SVN提交代码后,FTP服务器上的代码自动同步更新。主要步骤包括:修改SVN的post-commit钩子文件,设置需要更新的目录,配置Apache用户执行权限,以及确保Apache配置中禁止对.svn目录的访问。通过这种方式,可以实现本地与线上代码的实时同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

碰到一个问题 svn不能ftp ftp又不能svn有没有一个办法把两个联系起来呢?其实不需要svn自带的hooks(钩子)功能足以满足你得需求

svn配置和设置可以网上直接找到。直接说怎么配置自动同步功能。在svn的目录下 /www/svn/repos/hooks  有的文件 post-commit.tmpl

这个就是需要修改的文件也就是在svn有commit的时候我们需要做的

1.设置需要更新的目录 直接在配置好的首页对应的目录里面checkout一下

2.修改 post-commit.tmpl 文件 cp post-commit.tmpl post-commit

3.编辑 post-commit 文件的内容,注意post-commit 文件是需要apache用户有可以执行的权限的

4.

export LANG=zh_CN.UTF-8

REPOS="$1"

REV="$2"

WEB_PATH=/www/web/public_html_new/xxx

LOG_PATH=/www/web/log/svn_upload_log

CURDATE="date"

echo “code commit  at $CURDATE” >> $LOG_PATH

/usr/bin/svn update $WEB_PATH --username 用户名 --password 密码  >> $LOG_PATH

其中:

WEB_PATH 是apache下设置的网页的目录

LOG_PATH 是日志的目录

执行完毕后在本地连接并提交svn同时线上的代码就可以实时更新了

需要特别注意的是

需要在apache 的 httpd.conf 或者包含的文件里面设置  .svn 目录禁止访问

Deny From All

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值