docker svn仓库搭建及hook配置
创建svn-server镜像
#拉取镜像
docker pull garethflowers/svn-server
#启动镜像
docker run -v /home/svn:/var/opt/svn --name svn-server -p 3690:3690 --privileged=true -e SVN_REPONAME=repository -d docker.io/garethflowers/svn-server
- -v /home/svn:/var/opt/svn:将容器的/var/opt/svn文件夹下的内容映射到宿主机的/home/svn文件夹下面
- --name svn-server:容器取名为svn-server
- -p 3690:3690:将容器的3690端口映射到宿主机器的3690
- --privileged=true:将容器以特权方式启动
- -e SVN_REPONAME=repository:环境变量,这里指定svn仓库名称为repository
创建svn仓库
docker exec -it svn-server /bin/sh
svnadmin create /var/opt/svn/test-repo
配置仓库
打开
svnserve.conf
下面配置
anon-access = none
auth-access = write
authz-db = authz
password-db = passwd
添加用户,修改
passwd
[users]
# harry = harryssecret
# sally = sallyssecret
lcy=123
添加用户组设置权限修改
authz
文件
#新建一个名为test-group的用户组,并把名为test的用户加入到用户组。若多个用户需要加入用户组,用英文逗号分隔
test-group = lcy
#设置test-group用户组对仓库test-repo的读写权限
[test-repo:/]
@test-group = rw
添加svn hook
进入hooks目录
复制一个post-commit
>cp post-commit.tmpl post-commit
#修改内容
#!/bin/sh
export LANG=zh_CN.UTF-8
REPOS="$1"
REV="$2"
/usr/bin/svn update [发布目录] --username test --password test --no-auth-cache