Linux远程svn自动更新项目

  • 爵特猛
  • 2021-1-30 18:11
  • 其它
  • 832

Web服务器地址:192.168.1.10
web项目地址:/home/www/test/hsj

SVN服务器地址:192.168.1.11
SVN版本库地址:/home/svn_library/live

由于SVN和web并不在同一服务器上,所以涉及到ssh登录,并且需要设置免密钥登录


一、授权SVN服务器面密钥登录到web服务器

1.在SVN服务器上生成密钥文件:

ssh-keygen -t rsa

    连续回车即可,生成的文件位于/root/.ssh/ 下,查看需要ls -a ( Linux命令大全

2.复制密钥文件到web服务器上:

    在SVN服务器上执行

ssh-copy-id -i /root/.ssh/id_rsa.pub  root@192.168.1.10

    该操作需要输入web服务器root密码


3.复制完成后/root/.ssh 下会生成一个known_hosts 文件,里面记录了授权信息(加密的)


二、编辑post-commit 文件

1.复制post-commit.tmpl

cp post-commit.tmpl post-commit

vim post-commit


    将下方内容写入post-commit

REPOS="$1"
REV="$2"

#需要更新多个目录,则复制更改要更新的目录即可
sshpass -p MyrnssbbCg! ssh root@192.168.1.10 "export.utf8;svn update --username server --password server123456 --no-auth-cache  /home/www/test/hsj"


参考:https://blog.csdn.net/weixin_43226231/article/details/102791294


本文为爵特猛原创文章,转载无需和我联系,但请注明来自爵特猛博客www.juetemeng.com