当前位置: 首页 > news >正文

怎样通过互联网访问内网 SVN (版本管理工具)提交代码更新?

你有没有遇到过这种情况:在公司或者家里搭了个 SVN 服务器(用来存代码的),但出门在外想提交代码时,发现连不上? 这是因为 SVN 通常跑在内网,外网直接访问不了。

这时候就需要 “内网穿透” —— 简单理解就是找个“中间人”(公网服务器),帮你把外网的请求转发到内网的 SVN 服务器上。这样,你在咖啡厅、出差、甚至蹲厕所的时候,都能随时提交代码!

这篇教程就教你 用ZeroNews(一个轻量级的内网穿透工具)把内网 SVN 服务暴露到公网,让你随时随地能 svn commit

(不用担心,步骤很简单,跟着做就行!)

通过在 CentOS 7 系统以容器方式部署 SVN 为例,演示用户怎样通过互联网访问内网 SVN 提交代码更新。

第 1 步: 以容器方式部署 SVN​

  1. 创建 SVN 容器的配置文件目录及数据存储目录。
svn文件: /opt/docker/svn/
mkdir -p /opt/docker/svn

  1. 运行 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 公网域名​

  1. 用户登录 ZeroNews 平台,在 "资源" 的 "域名" 管理页面, 点击 "添加域名" 添加公网可访问的域名。
    • 域名前缀: 用户输入定义的 域名前缀,如 svnmt
    • 勾选 TCP 协议,如 13690

第 5 步:为 svn 添加公网映射​

  1. 进入"映射"页面,点击 "添加映射”添加 svnmt 映射
    • 选择设备:选择已经认证的设备
    • 映射协议:选择 TCP 协议
    • 公网访问地址:选择 svn 域名, svnmt.ny.takin.cc:23690
    • 映射带宽: 分配带宽,不大于用户当前的最大可用带宽
    • 内网映射地址:内网IP地址默认输入 127.0.0.1
    • 内网端口输入 svn 容器映射的端口号 3690

  1. 映射添加完成后,可在应用详情中可查看添加好的映射列表。

第 6 步:连接 SVN 服务​

使用 TortoiseSVN 客户端连接 SVN 服务器,输入公网域名地址和端口号 svnmt.ny.takin.cc:23690即可连接。搞定!现在你的 内网 SVN 已经成功穿透到公网,不管你在哪儿——公司、家里、咖啡厅,甚至旅游途中——只要连上网,就能随时 svn update 和 svn commit,再也不用担心代码提交不了啦!

 搞定!现在你的 内网 SVN 已经成功穿透到公网,不管你在哪儿——公司、家里、咖啡厅,甚至旅游途中——只要连上网,就能随时 svn update 和 svn commit,再也不用担心代码提交不了啦!

相关文章:

  • 第13章:MCP服务端项目开发实战:向量检索
  • JAVA | 聚焦 OutOfMemoryError 异常
  • 究竟什么是自动化测试?
  • ecovadis认证需要提供哪些文件?ecovadis认证优势是什么?
  • 传感器测量(图片流程)
  • 经典算法 区间统计种类
  • Opencv图像处理:旋转、打包、多图像匹配
  • TinyVue v3.22.0 正式发布:深色模式上线!集成 UnoCSS 图标库!TypeScript 类型支持全面升级!
  • Python 面向对象练习
  • 日内组合策略思路
  • 强化学习(Reinforcement Learning, RL)和深度学习(Deep Learning, DL)
  • 数据结构——栈与队列
  • 简单场景下的目标关联算法:GNN全局最近邻与匈牙利算法
  • 制作一款打飞机游戏20:敌人被击中时的视觉效果
  • 理解js函数(Ⅱ)
  • 嵌入式Linux驱动开发:LED实验
  • Spring Boot中自定义404异常处理问题学习笔记
  • Android学习总结之Room篇
  • 发送网络请求
  • 《无尽的尽头》今日开播 刘家祎大胆演绎林磊儿的“另一面”
  • 陕西省烹饪餐饮行业领军人物黄建军逝世,终年53岁
  • 现场观察·国防部记者会|美将举行大演习“应对中国”,备战太平洋引发关注
  • 吃菜和吃肉,哪个更“增肌”?
  • 央媒关注脑瘫女骑手:7年跑出7.3万多份单,努力撑起生活
  • 教培机构向学员提供盗版教材,法院:应承担著作权侵权责任
  • 对话地铁读书人|企业公关吴丑丑:阅读中相遇又重逢