docker部署SVN并且实现hooks同步

docker部署SVN并利用hooks实现代码同步

项目目录/home/www/xx

构建svn容器:docker run --restart always --name svn -d -v /home/svn/:/var/opt/svn -v /home/www/xx:/home/www -p 3690:3690 garethflowers/svn-server
前面的是映射svn配置文件 注意后面的映射为项目根目录

docker exec -it svn /bin/sh //进入容器
svnadmin create svn //创建名称为svn的资源仓库

资源仓库配置,修改svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /var/opt/svn/svn

配置账号与密码,修改 passwd文件,格式为“账号 = 密码”
[users]
admin = 123456

修改 authz文件
[groups]
[/] # / 表示所有仓库
admin = rw # 用户 admin 在所有仓库拥有读写权限

到这一步 访问svn://域名/svn 就可以获取到新建的SVN仓库了,接下来就是怎么把svn仓库同步到项目了

进到svn仓库下的hooks文件夹 复制一份post-commit
cp post-commit.tmpl post-commit //复制
chmod +x post-commit //添加可执行权限
vi post-commit
加入
export LANG=en_US.UTF-8
svn up /home/www/xx --username admin --password 123456 --no-auth-cache --non-interactive
保存退出 自此所有配置完成 接下来到/home/www目录 获取一下svn配置文件
svn co svn://域名/svn xx
本地Checkout一下svn://域名/svn

这样本地–>svn仓库–>/home/www/xx 代码同步实现完成

你可能感兴趣的:(docker部署SVN并且实现hooks同步)