apache下 使用svn自动部署代码
2014-05-28 13:59
302 查看
碰到一个问题 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 目录禁止访问
<DirectoryMatch .*\.svn/.*>
Deny From All
</DirectoryMatch>
其实不需要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 目录禁止访问
<DirectoryMatch .*\.svn/.*>
Deny From All
</DirectoryMatch>
相关文章推荐
- sae使用svn部署代码注意事项
- SVN 使用 hooks 自动更新代码到远程的web目录下
- 利用svn钩子hooks/post-commit实现代码自动部署
- 分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验
- Apache:使用mod_wsgi时自动reload代码
- SVN自动部署代码
- 使用svn部署代码到新浪sae
- 【Webhooks】使用Git的Webhooks进行服务器自动部署代码
- linux服务器安装svn版本控制,自动部署代码到项目目录
- Jenkins进阶-Gitlab使用Webhook实现Push代码自动部署(3)
- Ubuntu Server 中实现自动部署提交到SVN的代码
- 在linux服务器上装svn版本管理,自动部署代码到项目
- 利用SVN的POST-COMMIT钩子自动部署代码
- 在linux服务器上装svn版本管理,自动部署代码到项目
- 使用PHP自动部署GIT代码
- Ubuntu Server 中实现自动部署提交到SVN的代码
- SVN配置以及自动部署到apache虚拟目录
- 利用SVN的POST-COMMIT钩子自动部署代码
- 使用 SVN Hook 实现服务器端代码自动更新
- 利用SVN的POST-COMMIT钩子自动部署代码