你好,游客 登录 注册 搜索
背景:
阅读新闻

Apache下使用SVN自动部署代码

[日期:2015-10-10] 来源:Linux社区  作者:wangschang [字体: ]

碰到一个问题 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>

Ubuntu Server 14.04 安装Web服务器(Linux+Apache+MySQL+PHP)  http://www.linuxidc.com/Linux/2015-06/119061.htm

Linux下安装配置PHP环境(Apache2)  http://www.linuxidc.com/Linux/2015-05/118062.htm

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

CentOS 5.9下编译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4下Web服务器架构之源码构建LAMP环境及应用PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

Apache 的详细介绍请点这里
Apache 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-10/123981.htm

linux
相关资讯       Apache SVN  SVN部署代码 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款