`
阅读更多

 

 

支持:

https://gist.github.com/dpmex4527/1d702357697162384d31d033a7d505eb

 

https://github.com/elleFlorio/svn-docker
https://medium.com/@elle.florio/the-svn-dockerization-84032e11d88d#.bafh3otmh


https://hub.docker.com/r/elleflorio/svn-server

 

 

//查看所有 dockers 容器
>docker ps -a
CONTAINER ID   IMAGE                    COMMAND                  CREATED        STATUS                    PORTS                NAMES
213ceb816117   node                     "docker-entrypoint.s…"   21 hours ago   Up 21 hours                                    node
ba7bf7fa779b   docker/getting-started   "/docker-entrypoint.…"   3 days ago     Exited (255) 3 days ago   0.0.0.0:80->80/tcp   eager_northcutt
//创建一个 svn-root 卷将 svn-server 存储库保存在 docker 主机上
>docker volume create svn-root
>docker run -dit --name svn-server -v svn-root:/home/svn -p 7443:80 -p 3960:3960 -w /home/svn elleflorio/svn-server
>docker exec -t svn-server htpasswd -b /etc/subversion/passwd svnadmin xxxxxx
>svn info svn://localhost:3960/
svn: E170013: Unable to connect to a repository at URL 'svn://localhost:3960'
svn: E210002: Network connection closed unexpectedl
>docker exec -it svn-server svnadmin create xxx
>docker exec -it svn-server ls -al xxx
total 32
drwxr-xr-x    6 root     root          4096 Feb  5 07:49 .
drwxrwxrwx    3 root     root          4096 Feb  5 07:49 ..
-rw-r--r--    1 root     root           246 Feb  5 07:49 README.txt
drwxr-xr-x    2 root     root          4096 Feb  5 07:49 conf
drwxr-sr-x    6 root     root          4096 Feb  5 07:49 db
-r--r--r--    1 root     root             2 Feb  5 07:49 format
drwxr-xr-x    2 root     root          4096 Feb  5 07:49 hooks
drwxr-xr-x    2 root     root          4096 Feb  5 07:49 locks
>svn info svn://localhost:3960/xxx
svn: E170013: Unable to connect to a repository at URL 'svn://localhost:3960/xxx'
svn: E210002: Network connection closed unexpectedly

>docker exec -it svn-server sh -c "svnrdump dump https://svn.code.sf.net/p/ultrastardx/svn | gzip > /tmp/ultrastardx.dump.gz"
Error validating server certificate for 'https://svn.code.sf.net:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: code.sourceforge.net
 - Valid: from Dec 30 03:26:30 2020 GMT until Mar 30 03:26:30 2021 GMT
 - Issuer: R3, Let's Encrypt, US
 - Fingerprint: C3:21:2D:28:E7:47:B9:AC:AB:AA:27:35:7B:6B:62:13:A9:BE:0C:8C
(R)eject, accept (t)emporarily or accept (p)ermanently? y
svnrdump: E170013: Unable to connect to a repository at URL 'https://svn.code.sf.net/p/ultrastardx/svn'
svnrdump: E230001: Server SSL certificate verification failed: issuer is not trusted

>docker exec -it svn-server sh -c "gunzip -c /tmp/ultrastardx.dump.gz | svnadmin load ultrastardx"
<<< Started new transaction, based on original revision 1
     * editing path : trunk ... done.
     * editing path : trunk/Game ... done.
     * editing path : trunk/Game/Code ... done.
     * editing path : trunk/Game/Code/Classes ... done.
     * editing path : trunk/Game/Code/Classes/TextGL.dcu ... done.

------- Committed revision 1 >>>

>svn info svn://localhost:3960/ultrastardx
svn: E170013: Unable to connect to a repository at URL 'svn://localhost:3960/ultrastardx'
svn: E210002: Network connection closed unexpectedly



//运行Docker容器并将您的工作目录设置为/ home / svn
$ docker run -dit --name svn-server -v svn-root:/home/svn -p 7443:80 -p 3960:3960 -w /home/svn elleflorio/svn-server
//配置用户名和密码以访问http协议
$ docker exec -t svn-server htpasswd -b /etc/subversion/passwd svnadmin <password>
//验证svn服务已启动并显示0个可用仓库
$ svn info svn://localhost:3960/
svn: E170013: Unable to connect to a repository at URL 'svn://localhost:3960'
svn: E210005: No repository found in 'svn://localhost:3960'
//使用URL登录到您的svn服务器:http:// localhost:7443 / svn。您应该会在顶部看到一个带有“存储库集合”字符串的空列表
//使用svnadmin命令创建一个测试svn回购。在命令行和网页中验证仓库是否存在
$ docker exec -it svn-server svnadmin create Test

$ docker exec -it svn-server ls -al Test
total 16
drwxr-xr-x   8 primetheus  staff  272 Jun  7 15:22 .
drwxr-xr-x   3 primetheus  staff  102 Jun  7 15:22 ..
-rw-r--r--   1 primetheus  staff  246 Jun  7 15:22 README.txt
drwxr-xr-x   6 primetheus  staff  204 Jun  7 15:22 conf
drwxr-sr-x  15 primetheus  staff  510 Jun  7 15:22 db
-r--r--r--   1 primetheus  staff    2 Jun  7 15:22 format
drwxr-xr-x  11 primetheus  staff  374 Jun  7 15:22 hooks
drwxr-xr-x   4 primetheus  staff  136 Jun  7 15:22 locks

$ svn info svn://localhost:3960/Test
Path: Test
URL: svn://localhost:3960/Test
Relative URL: ^/
Repository Root: svn://localhost:3960/Test
Repository UUID: 626ee621-fc48-49e1-8733-3f850e997e67
Revision: 0
Node Kind: directory
Last Changed Rev: 0
Last Changed Date: 2017-06-07 15:22:54 -0500 (Wed, 07 Jun 2017)



// load a test SVN repository
//将SVN存储库转储到本地Docker容器
$ docker exec -it svn-server sh -c "svnrdump dump https://svn.code.sf.net/p/ultrastardx/svn | gzip > /tmp/ultrastardx.dump.gz"
//创建新的仓库来托管代码
$ docker exec -it svn-server svnadmin create ultrastardx
//加载到SVN转储存档中(请确保此处的破折号和引号不时髦)
$ docker exec -it svn-server sh -c "gunzip -c /tmp/ultrastardx.dump.gz | svnadmin load ultrastardx"
//检查以确保回购已正确加载
$ svn info svn://localhost:3960/ultrastardx


//运行 svn-server 容器
//您可以选择使用-v <hostpath>:/ home / svn标志将本地文件夹绑定到用于存储存储库的容器文件夹。
$ docker run -d --name svn-server -p 80:80 -p 3690:3690 elleflorio/svn-server


//配置
//您需要设置用户名和密码才能通过WebDav协议 (http://)访问。您可以从主机使用以下命令:
$ docker exec -t svn-server htpasswd -b / etc / subversion / passwd <用户名> <密码>
//要验证一切是否正常运行,请打开浏览器并连接到http:// localhost / svn。
//还要检查自定义协议是否工作正常:转到终端并输入
$ svn info svn://localhost:3690
//通过 http://localhost/svnadmin 使用 SVNADMIN 界面提供了图形用户界面。
//系统会提示您设置页面,请记住测试页面上的每个步骤,然后保存配置。

 

 如何在 docker 中修改配置文件

//进入 svn-server 容器
$ docker exec -it svn-server /bin/sh
//查看 svn-server 容器下的仓库文件
/home/svn # ls
xxx     ultrastardx
/home/svn #
/home/svn #
/home/svn #
/home/svn #
/home/svn # cd xxx
/home/svn/xxx # ls
README.txt  conf        db          format      hooks       locks
/home/svn/xxx # cd conf
/home/svn/xxx/conf # ls
authz           hooks-env.tmpl  passwd          svnserve.conf
//authz 是权限控制,设置用户访问的目录权限;passwd 设置用户和密码;svnserve 设置svn相关


//修改配置文件(通过 vim 修改, 或 -v 挂载映射到本地目录)

//配置 passwd 文件
/home/svn/xxx/conf # vi passwd
//在【user】sally=sallyssecret 后添加用户名和密码 如 admin = admin (空格和换行)

//配置 authz 文件
/home/svn/xxx/conf # vi authz
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

# 设置 sz 和 cd 两个组,sz 组存在 svnadmin,cc,df 三个账户,cd组存在 svnadmin,cc 两个账户
sz = svnadmin,cc,df
cd = svnadmin,cc

# [/]表示在根目录所有仓库,给 svnadmin 用户配置  rw 权限(读写)
[/]
svnadmin = rw

# [xxx:/]表示在根目录下 xxx 仓库,给 @sz 组下的所有用户配置 rw 权限
[xxx:/]
@sz = rw



//配置 svnserve 文件
/home/svn/xxx/conf # vi svnserve.conf
//找到 [general] 节点加入以下内容:
//控制非鉴权用户据访问版本库的权限,取值范围:write(读写)、read(只读)、none(无权访问),缺省 read
anon-access = none
//控制鉴权用户据访问版本库的权限,取值范围:write(读写)、read(只读)、none(无权访问),缺省 write
auth-access = write
//指定用户名口令文件名,位置于 conf 目录的相对路径
password-db = passwd
//指定权限配置文件名,位置于 conf 目录的相对路径
authz-db = authz
//指定版本库的认证域,即在登录时提示的认证域名,若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
realm = /var/opt/svn /xxx



//退出并重启 svn-server
>docker restart svn-server


 

 

 

 

 

 

 

 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    离线安装docker版本SVN

    离线安装docker版本SVN

    docker 搭建svn服务器的教程

    SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发...docker run --name svn-server -d -v /Users/xxxx/docker/svn:/var/opt/svn -p 3690:3690

    wso2-docker:具有集群功能的WSO2产品的Docker映像

    您只需使用几秒钟脚本,只需几秒钟即可在数据库中安装WSO2 ESB / AS Worker Manager集群安装程序,并在docker中进行数据库安装和部署同步。 大多数开发基于存储库,您可以从那里获取最新的配置程序分发版(ppaas-...

    currency-config-server:用于通过GIT,SVN或HashiCorp Vault进行配置,使用Java 8,Spring Cloud Finchley M8,Spring Cloud Config Server和Spring Cloud Starter Bus,JUnit 4进行集中管理的中央管理服务器

    用于通过GIT,SVN或具有Java 8,Spring Cloud Finchley M8,Spring Cloud Config Server和Spring Cloud Starter Bus,JUnit 4的Java 8的GIT,SVN或HashiCorp Vault进行配置的中央管理的配置主服务器 参考文件 配置...

    svn服务端web图形化管理系统, 搭建svn服务器的神器..zip

    适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关项目/竞赛学习等。 项目具有较高的学习借鉴价值,也可直接拿来修改复现。可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。...

    群晖中docker开启ssh (2).docx

    本文将详细讲解如何在非特权模式下,在群晖Docker中安装和配置SSH服务,以CentOS容器为例。 首先,确保你已经在群晖DSM上安装了Docker并创建了一个CentOS容器。由于Docker设计原则是每个容器仅运行单一进程,不鼓励...

    群晖中docker开启ssh.docx

    但通过一些技巧,我们可以在非特权模式下在Docker中的CentOS容器中开启SSH服务。以下是如何实现这一目标的详细步骤: 首先,确保你已经在群晖NAS上安装了Docker,并创建了一个CentOS容器。如果你还没有这样做,你...

    群晖中docker开启ssh.pdf

    要在群晖NAS上启用Docker容器中的SSH,首先确保你已经安装了Docker并创建了所需的CentOS容器。进入容器的shell,可以使用以下命令: ```bash docker exec -it centos-svn /bin/bash ``` 如果SSH服务已经安装,可以...

    VisualSVN Server仓库镜像同步脚本

    本脚本可在一台Windows备份服务器上创建某个VisualSVN Server的镜像仓库,实现如下功能: 1. 导入源SVN服务器上的已有仓库和数据到备份服务器 2. 通过定时执行脚本,把源SVN服务器的新增提交同步到备份服务器 备份...

    群晖中docker开启ssh (2).pdf

    3. **安装SSH服务**:使用`yum install openssh-server`安装SSH服务器。 4. **编辑配置文件**:找到`/etc/ssh/sshd_config`文件,使用`vim`编辑器打开,取消监听端口和监听地址前面的注释(删除#号),并允许远程...

    openmeeting安装

    10. **OpenMeeting源代码**: 通过Subversion (SVN) 从指定URL获取OpenMeeting的源代码。 安装这些组件之后,你还需要按照OpenMeeting的官方文档对各个组件进行配置,包括数据库连接、Red5服务器和OpenLaszlo服务器...

    centos7搭建k8s环境.docx

    本文档旨在指导读者在 CentOS 7 环境中安装 Kubernetes,整个安装过程中,需要准备好相应的环境和配置。 环境准备 在开始安装 Kubernetes 之前,需要准备好 CentOS 7 环境,至少需要 2G 内存和 2 核 CPU,否则可能...

    Jenkins+Maven+SVN+Tomcat持续集成实战

    Jenkins的安装部署相对简单,可以通过下载安装包或使用Docker容器快速启动。配置过程中,首先要配置源码管理,如连接到SVN仓库,然后设置Maven构建步骤,指定POM.xml文件进行编译和测试。接着,可以配置自动化脚本,...

    jpi.tar.gz

    'cvs.jpi', 'display-url-api.jpi', 'docker-commons.jpi', 'docker-workflow.jpi', 'durable-task.jpi', 'email-ext.jpi', 'envinject-api.jpi', 'envinject.jpi', 'external-monitor-job.jpi', 'git-client.jpi',...

    jdk、tomcat、maven、svn开发配置文档,mysql卸载清除批处理等等

    配置SVN时,需要设置`SVN_PATH`环境变量指向SVN的安装路径,并在`PATH`中添加%SVN_PATH%\bin。 **MySQL的卸载与清除批处理**: MySQL是流行的开源关系型数据库管理系统。在Windows系统中,卸载MySQL可以通过控制...

    基于docker+kubernetes的一站式运维管理实践

    2015年下半年,搜狐北京研发中心基于docker和kubernetes...Mysql用来存储项目、部署、用户、监控等数据信息Server可以关联到代码仓库,目前支持gitlab和svn。Registry是docker提供的开源私有仓库,我们对它进行了改造

    redmine-4.2.4.tar.gz

    在本文中,我们将深入探讨Redmine的功能特性、安装过程、与Zookeeper的关联以及云原生环境下的应用。 1. **Redmine功能特性** - 项目管理:支持多项目管理,包括任务分配、时间跟踪、问题跟踪、文档管理等功能。 ...

    MySQL 启动报错:File ./mysql-bin.index not found (Errcode: 13)

    [root@SVNServer bin]# ./mysqld_safe –user=mysql& 或 [root@SVNServer bin]# /etc/init.d/mysqld start Starting MySQL. ERROR! The server quit without updating PID file &#40;/data/mysql/AY...

Global site tag (gtag.js) - Google Analytics