两种实现方式:在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