实现本地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配置:
构建看一下