怎样通过互联网访问内网 SVN (版本管理工具)提交代码更新?
你有没有遇到过这种情况:在公司或者家里搭了个 SVN 服务器(用来存代码的),但出门在外想提交代码时,发现连不上? 这是因为 SVN 通常跑在内网,外网直接访问不了。
这时候就需要 “内网穿透” —— 简单理解就是找个“中间人”(公网服务器),帮你把外网的请求转发到内网的 SVN 服务器上。这样,你在咖啡厅、出差、甚至蹲厕所的时候,都能随时提交代码!
这篇教程就教你 用ZeroNews(一个轻量级的内网穿透工具)把内网 SVN 服务暴露到公网,让你随时随地能 svn commit
!
(不用担心,步骤很简单,跟着做就行!)
通过在 CentOS 7 系统以容器方式部署 SVN 为例,演示用户怎样通过互联网访问内网 SVN 提交代码更新。
第 1 步: 以容器方式部署 SVN
- 创建 SVN 容器的配置文件目录及数据存储目录。
svn文件: /opt/docker/svn/
mkdir -p /opt/docker/svn
- 运行 svn 容器, 映射 SVN 容器端口
3690:3690
docker run -d --name svn-server -v /opt/docker/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server创建 SVN 仓库 repo
docker exec -it svn-server svnadmin create repo修改 svn 配置
/opt/docker/svn/repo/conf/svnserve.conf anon-access = none auth-access = writepassword-db = passwdauthz-db = authz创建 svn 用户
/opt/docker/svn/repo/conf/passwd[user] # 标签下添加用户user01 = 123456用户授权
/opt/docker/svn/repo/conf/authz
[repo:/]user01 = rw
第 2 步:生成 ZeroNews 客户端所需的 Token
用户登录 ZeroNews 平台,在“快速开始”页面复制您的 Token。
第 3 步:运行 ZeroNews 客户端
参考 Linux 中运行 ZeroNews , 在 Linux 服务器上运行 ZeroNews,绑定 Token, 完成 ZeorNews 客户端上线。
第 4 步: 为 svn 分配 ZeroNews 公网域名
- 用户登录 ZeroNews 平台,在 "资源" 的 "域名" 管理页面, 点击 "添加域名" 添加公网可访问的域名。
- 域名前缀: 用户输入定义的 域名前缀,如 svnmt
- 勾选 TCP 协议,如
13690
第 5 步:为 svn 添加公网映射
- 进入"映射"页面,点击 "添加映射”添加 svnmt 映射
- 选择设备:选择已经认证的设备
- 映射协议:选择 TCP 协议
- 公网访问地址:选择 svn 域名, svnmt.ny.takin.cc:23690
- 映射带宽: 分配带宽,不大于用户当前的最大可用带宽
- 内网映射地址:内网IP地址默认输入
127.0.0.1
- 内网端口输入 svn 容器映射的端口号
3690
- 映射添加完成后,可在应用详情中可查看添加好的映射列表。
第 6 步:连接 SVN 服务
使用 TortoiseSVN 客户端连接 SVN 服务器,输入公网域名地址和端口号 svnmt.ny.takin.cc:23690
即可连接。搞定!现在你的 内网 SVN 已经成功穿透到公网,不管你在哪儿——公司、家里、咖啡厅,甚至旅游途中——只要连上网,就能随时 svn update
和 svn commit
,再也不用担心代码提交不了啦!
搞定!现在你的 内网 SVN 已经成功穿透到公网,不管你在哪儿——公司、家里、咖啡厅,甚至旅游途中——只要连上网,就能随时 svn update
和 svn commit
,再也不用担心代码提交不了啦!