CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署

系统要求:已配置好svn环境,且已经搭建好网站的svn版本库,本地svn可以正常提交使用

第一步:进入到你的web根目录(例如 /home/wwwroot)

# cd /home/wwwroot

svn版本库检出(这里以网站目录为test为例)

# svn checkout svn://121.18.177.148/test   (检出完成,wwwroot下会多一个test文件夹)

第二步:编写钩子脚本

1.进入到版本库的钩子目录下 (例如目录:/var/svn/test/hooks/)

# cd /var/svn/test/hooks

编辑

# vim post-commit

(如果是post-commit.tmpl模板文件,使用命令 #mv post-commit.tmpl  post-commit 命令改文件名称)

2.内容如下:

#!/bin/sh

export LANG=zh_CN.UTF-8

#设定语言,根据系统语言设置,如果是UTF-8 就设置为 LANG=zh_CN.UTF-8

SVN=/usr/bin/svn  #SVN路径

WEB=/home/wwwroot/test/  #要更新的web目录,也是检出版本库目录

$SVN update $WEB --username root  --password mypassword no-auth-cache

(注意 看看文件最下边是否有未注释的内容,如果有 用 # 注释掉,切记)

3.保存退出

第三步:给 post-commit 执行权限

# chmod -R 755 post-commit

第四步:重启svn服务器

# killall svnserve   停止svn服务

# svnserve -d -r /var/svn    启动svn服务

# ps -ef|grep svn|grep -v grep   查看svn进程

第五步:做提交测试 (本地svn提交一个文件看看是否同步到了web服务器目录下)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容