svn自动提交服务器上,svn只要提交,代码自动发布到指定服务器目录

两种实现方式:在svn库下的hooks文件夹下,

1.svn服务端与代码发布目录在同一台服务器

a.复制钩子模板:cp post-commit.tmpl post-commit

b.修改模板:vi post-commit

c.在最后一行添加:svn checkout –username guihai –password 1a1a1a –no-auth-cache svn://192.168.1.9/QQGDV2 /var/www/qqgdv2

d.如果有py的文件,注释掉

2.svn服务端与代码发布目录在不同的服务器(使用ssh免登录http://wp.tanguu.com/2016/09/09/ssh免登录/)

a.首先解决的是服务器之前的登录问题,登录问题有两种解决,

一个是ssh密钥免登录,

一个是ssh+expect+sh密码自动登录登录,

b.然后就是在代码发布服务器上写更新脚本(QQGDV2-svnup.sh),脚本内容:

svn checkout –username guihai –password 1a1a1a –no-auth-cach svn://192.168.1.9/QQGDV2 /var/www/qqgdv2

chown -R developer /var/www/upay

b.复制钩子模板:cp post-commit.tmpl post-commit

c.修改模板:vi post-commit

d.在最后一行添加:ssh 192.168.1.28 “sh /var/www/scripts/QQGDV2-svnup.sh” #已作了登录

e.如果有py的文件,注释掉

注意:可能post-commit及脚本文件有权限问题

chmod 755 post-commit