资讯动态

无公网 IP 打通 CI/CD:内网穿透对接 GitHub Actions 自动部署内网服务

发布时间:2026/8/4 7:49:17 来源:尧图企业网站定制
一、GitHub / Gitea 工作流企业把项目代码、CI 托管在【公有云 GitHub】与企业自建 Gitea 中是很多团队的开发常态代码在 GitHub 上通过 workflows 连接内网数据库、或必须把 Webhook 打进内网中的 Jenkins、自建 Actions或内网部署服务器等完成自动构建与部署。以往难的不是【Runner 能不能跑脚本】而是公网事件怎么安全进内网以及内网服务怎么临时给云端 Job 一个可达的 HTTPS 入口。github 工作流目前面临的几个问题项目环境在内网github workflows 不能连接内网服务器进行自动部署发布内网的 webhookgithub workflows 无法回调内网中的 webHook数据库部署在内网github workflows 不能连接内网数据库进行数据初始化及数据迁移测试环境没有公网IP公网无法联调测试二、内网穿透在GitHub / Gitea 工作流中的作用内网穿透在不要求企业具备公网IP的情况下可以为 内网数据库入站回调Webhook与出站联调 / PR 预览入口提供GitHub / Gitea 工作流的公网连接入口 完成项目环境的自动化构建部署这给工作流提供了访问内网webhook / 内网部署的可行性。内网穿透需满足以下几点Webhook 可达——GitHub / Gitea 云端或对端 Forge能稳定 POST 到内网接收服务预览可回收——PR / 联调隧道随 Job 创建与销毁避免长期悬挂暴露面最小——尽量只开放 Hook 路径或预览站点必要路由而不是整站访问可控——可叠加多种安全策略内网服务只接受 workflows 过程中的调用不被滥用与攻击三、ZeroNews 内网穿透是什么ZeroNews内网穿透零讯是一个企业级的安全内网穿透与反向代理平台简单几步操作就可以实现企业在无固定公网IP 的网络环境下为企业内网中 Webhook / Jenkins / 数据库 提供安全稳定的 HTTPS 公网端点及固定公网TCP端口以便于在 github / gitea 的 workflows中集成 实现代码环境的自动化构建与部署并提供IP访问黑白名单 / 路由白名单/Basicauth 认证等多种安全策略保障内网应用的访问安全。同时ZeroNews 还可以将内网环境映射到公网满足生产级别的公网测试环境从而贯穿项目从workflows 工作流自动部署公网环境的联调/测试 的整体流程解决企业在开发过程中公网访问的各种问题。ZeroNews在github 工作流中能做什么用 ZeroNews 承接 GitHub 的内网项目的 CD 部署当我们进行 push 将最新代码推送到 GitHub 或 云端 Gitea 自托管代码仓库时通过由 ZeroNews 统一提供内网 服务器 / Jenkins / 数据库的公网 HTTPS 入口 TCP公共端点入口 在GitHub 或 云端 Gitea 的workflows 中对接内网 服务器 / Jenkins / 数据库这些内网环境的公共端口实现内网环境的自动化构建部署与发布。ZeroNews 的实现在内网测试数据库所在的服务器上部署 ZeroNews 客户端然后在控制台上给数据库添加TCP隧道然后将数据库的隧道地址对接到github / gitea 的workflows 工作流中即可实现数据的初始化/迁移等在内网环境服务器上部署 ZeroNews 客户端然后在控制台上给测试服务器添加TCP隧道然后将服务器的连接隧道地址对接到github / gitea 的workflows 工作流中即可实现数据的初始化/迁移等在内网部署 Jenkins 的服务器上部署 ZeroNews 客户端然后在控制台上添加 HTTPS隧道实现 jenkins 的 webhook 端点映射然后将这些 服务器 / Jenkins / 数据库的隧道地址对接到 github / gitea 的workflows 就可以实现在推送代码的时候实现将代码自动初始化到内网数据/构建并部署到内网服务器给数据库跟内网服务器添加 IP访问黑白名单/地址围栏等访问控制策略保障访问安全用 ZeroNews 实现 CI 过程中的内网 Webhook 回调在 github 的 workflows 执行过程中需要从内网的 Webhook API 获取或推送相关数据用 ZeroNews 把 Webhook收敛成一条受控 HTTPS 隧道而不是给 Runner 开整网 VPN。ZeroNews 的实现在内网 webhook api 的服务器上部署 ZeroNews 客户端然后给 webhook api 添加固定的自定义域名再给 webhook api 模块添加一条 HTTPS 隧道并将 隧道的域名访问地址对接到 github workflow 中接口再叠加 路由白名单只开发 workflows 需要调用的 api 路由地址避免暴露面过大再给接口 添加 basicauth 认证访问接口被滥用若 E2E 很重、调用很频更稳的组合往往是构建与重测试放在内网 self-hosted RunnerZeroNews 只留给必须由云端发起的少量检查——延迟与稳定性通常更好也符合【穿透只承担跨边界那几条 HTTPS】的用法。用 ZeroNews 代理项目测试环境进行公网联调测试当项目经过 github / gitea 的workflows 自动部署发布完成后我们可以利用ZeroNews 给 项目的前后端模块都提供一个公网可访问的 HTTPS 公网端点通过 ZeroNews 提供的固定域名即可进行公网联调测试用户再也不用部署 nginx / TLS 证书管理。ZeroNews 的实现在内网项目测试环境所在的服务器上部署 ZeroNews 客户端然后给测试环境中每个模块添加固定的自定义域名然后再给每个模块添加一条 HTTPS 隧道即可实现公网访问就可以进行联调与测试五、小结ZeroNews 用 HTTPS / TCP 隧道能很好的支持GitHub / Gitea 的 workflows 驱动内网交付测试服务器始终在内容不开整网 VPN 的前提下完成自动部署、Webhook 回调与测试环境联调ZeroNews完成 HTTPS 与 TCP 的固定地址的公网访问端点再叠加路由白名单、IP 与 Basic 等策略收紧暴露面只映射工作流真正需要的那几跳入口可控、可回收。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价