实现本地svn目录同步时,服务器的相应目录保持自动同步

提交一个TEST文件夹

但是服务器上并没有显示

而新检出的目录却有

这个时候需要手动去update才会显示,而不可能每次都去update,所以,就用到配置自动更新

1、创建svn目录:mkdir /var/SvnProject

2、从服务器的本地svn上checkout最新版本代码到/var/SvnProject文件夹,注意本地svn服务器地址和端口号是在启动svn服务时就设置的,根据自己的配置修改
svn co svn://localhost:6390/test /var/SvnProject --username 'admin' --password '123@qwe'

3、在svn代码仓库的对应项目目录下创建post-commit文件,如果文件已存在,请清空文件内容后再编辑

cd /var/svn/svnrepos/test

vim post-commit

4、在该文件里添加如下代码,保存
#!/bin/sh
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn  # svn启动目录
WEB_PATH=/var/SvnProject  # 自己创建的svn目录
$SVN_PATH update $WEB_PATH --username 'uname' --password 'pwd' --no-auth-cache


5、给post-commit添加执行权限:chmod +x post-commit

6、此时,本地svn目录同步时,服务器的相应目录也会被更新,保持自动同步

为了自动化方便,也可以把 post-commit放到/var/SvnProject下面,这样在设置jenkins命令的时候,就不用频繁切换目录

更新

这样就可以直接进目录进行脚本驱动了

jenkins配置:

构建看一下

原文地址:https://www.cnblogs.com/zhongyehai/p/10643062.html