前端静态站点发布工具

让前端发布
更稳、更简单

一键部署、版本管理、重复发布拦截与快速回滚,收进一个桌面端工具。

试用90 天,无需注册
接入8 个框架的更新通知组件
架构纯本地,无云端中转
仓库MIT 开源,界面与方案完整公开

专为前端静态项目设计的发布体验

不是把后端服务的发布逻辑套过来,而是围绕 index.html、version.json 与带 hash 的静态资源,重新设计一条发布链路。

01

一键部署

构建完成后点一次,剩下的产品自己做完:识别构建目录、生成版本信息、上传产物、执行远端发布。

  • 自动识别最终构建目录
  • 自动生成 release 名称与 version.json
  • 上传后按内置顺序完成发布
02

零停机发布顺序

静态资源、index.html、version.json 三步固定顺序,发布过程中旧页面始终有可用资源,不会白屏。

  • 先资源后入口
  • 顺序不可调换
  • 任一步失败都不影响线上
03

版本历史与回滚

每次发布都写入历史:版本号、文件数量、大小、耗时与完整日志。出问题时回到历史版本点一次回滚。

  • 保留版本数可配置
  • 回滚复用同一套发布流程
  • 日志可完整回看
04

重复发布拦截

产物指纹与最近一次发布完全一致时直接拦截,避免同一份产物被反复上线,也避免无意义的版本记录。

  • 基于产物内容比对
  • 拦截时给出明确提示
  • 需要重新构建后才能再次发布
05

凭证本地加密

服务器密码与密钥口令用 AES-256-GCM 加密后写入本地数据库,导出备份再用 Argon2id 派生密钥加密。

  • 随机 nonce + 认证标签
  • 密钥只存在本机
  • 日志与调试输出脱敏
06

面向前端静态项目的发布语义

围绕 index.html、version.json 与带 hash 的静态资源设计,而不是把后端服务的发布逻辑套到静态站点上。

3 步完成一次稳定发布

业务项目只多一个组件,构建方式完全不变,发布动作收进桌面端。第一次配置完成后,日常发版只有两步:构建、点击。

  1. 01

    挂载通知组件

    从 8 个框架版本里挑一个,放进业务项目并挂载到根组件。

    组件负责轮询线上 version.json,发现新版本时提示用户刷新,不依赖 deploygo 桌面端。

  2. 02

    按原方式构建

    npm run build、pnpm build、yarn build,都按你原来的流程走。

    deploygo 不接管构建,只读取构建产物目录,因此不需要改流水线或新增构建插件。

  3. 03

    桌面端一键部署

    服务器与项目配置一次,之后每次发版就是构建加点击。

    发布历史、重复发布拦截、回滚都在同一个界面里,不用再手写 SSH 命令。

零停机发布,靠的是顺序

发布期间的每一次文件替换都可能造成白屏或版本错位。deploygo 内置的发布流程固定为三个阶段,顺序本身就是方案。

  1. 01

    同步静态资源

    把新的带 hash 资源先传到本次 release 目录,index.html 与 version.json 暂不处理。

    线上此刻

    线上页面没有任何变化,旧入口仍然指向旧资源,继续可用。

  2. 02

    替换 index.html

    入口文件原子替换,让新访客进入新版本;已经打开的页面继续使用已加载的资源。

    线上此刻

    新版本开始生效,旧页面不会因为资源被替换而白屏。

  3. 03

    替换 version.json

    最后写入版本号,在线页面的更新通知组件轮询到变化后提示用户刷新。

    线上此刻

    版本切换由用户主动刷新完成,而不是被强制打断。

任一步骤失败都不会破坏当前线上版本;回滚只是把 live 重新指向上一个 release,不需要重新上传产物。

适合哪些项目

判断标准只有一条:能不能构建出静态产物,并由静态文件服务托管。框架不是限制,产物形态才是。

适合

  • Vue 2 / Vue 3 / React / Angular / Svelte 构建出的 SPA
  • Vite、Webpack、Vue CLI、Create React App 等工具产出的静态站点
  • 构建产物带 hash 资源名,通过 Nginx 或类似静态服务托管
  • 后台管理系统、活动页、产品官网这类需要频繁发版的入口
  • 没有专职 DevOps,但希望发版稳定、可回滚的小团队
  • 需要保留历史版本、随时退回上一版的交付项目

暂不适合

  • SSR 服务端渲染项目,需要 Node 进程常驻运行
  • 不产出静态入口文件的项目
  • 发布时必须立即清空旧资源的场景
  • 没有 hash 资源名、缓存策略也不可控的项目
  • 需要多环境编排、灰度发布这类重型发布流程的团队
条件支持
  • Next.js 静态导出(output: export)
  • Nuxt 静态生成
  • Astro 静态站点
  • 其他支持静态导出的前端框架

开源版与官方完整版

界面实现、更新通知组件与零停机发布方案完整开源;部署引擎与授权系统随官方完整版分发。开源仓库是方案与组件的分享,不是功能阉割的试用版。

开源版与官方完整版功能对比
内容开源仓库官方完整版
桌面端界面实现(Vue 3 + Naive UI + Pinia) 完整包含 与开源仓库同源
8 个框架的更新通知组件 完整包含,可独立使用 完整包含
零停机发布方案与目录约定文档 完整包含 完整包含
Rust 后端架构骨架(契约层 + 桩实现) 完整包含 完整实现
部署引擎:SSH 连接、上传、原子发布、回滚 不包含 内置
授权与试用系统 不包含 内置
自行构建得到的结果 开源展示版:可浏览界面,部署操作引导下载完整版 官方分发的完整版
分发方式 GitHub / Gitee 仓库,MIT 协议 GitHub Releases,含 90 天免费试用

完整版从 GitHub Releases 分发,含 90 天免费试用;自行构建开源仓库得到的是展示版,部署操作会引导下载完整版。

了解开源策略

凭证不离开你的电脑

deploygo 是纯本地桌面应用,不内置任何远端服务。服务器凭证与部署流量只在你自己的电脑与服务器之间通过 SSH 直连。

数据流

你的电脑 ──SSH── 你的服务器

没有第三方中转,没有云端存储,删除应用数据目录即彻底删除凭证。

  • 01

    无云端架构

    纯本地桌面应用,不内置任何远端服务。

    凭证与部署流量只在你自己的电脑与服务器之间通过 SSH 直连,不经过任何第三方服务器。

  • 02

    AES-256-GCM 加密存储

    密码与密钥口令加密后写入本地数据库。

    每次加密使用随机 nonce 与认证标签;解密密钥保存在本机用户数据目录,Unix 下权限为 0600。

  • 03

    Argon2id 加密备份

    凭证导出文件需要口令才能还原。

    用 Argon2id 派生密钥,再用 AES-256-GCM 加密导出文件;不设置密码无法导出,文件泄露也无法直接还原凭证。

  • 04

    内存清零与日志脱敏

    敏感数据用完就擦掉,日志里不会出现口令。

    密码与派生密钥使用后立即从内存擦除(zeroize);部署日志与调试输出不包含任何密码、口令字段。

加密密钥保存在本机,因此能完全控制你电脑的攻击者理论上可以还原凭证。这是所有本地加密工具的共同边界,deploygo 不做例外声明。请避免在共享或不受信任的设备上保存生产凭证;删除应用数据目录即可彻底删除全部凭证。

按时长购买授权

从月付到永久版,授权按使用时长计。90 天免费试用不需要注册,先验证完整工作流再决定买哪个周期。

月付

1 个月

先跑通完整发布链路,按月续费,随时可停。

¥15¥19

年付

推荐1 年

适合持续迭代的产品,一整年不用惦记授权。

¥99¥129

永久版

一次买断永久

一次买断,授权长期有效,适合长期自用。

¥199¥399

查看定价

购买流程暂未接入在线支付,提交意向后由人工确认套餐与金额。

发布前常见问题

关于购买、接入、缓存与安全的常见疑问。完整问答在 FAQ 页面。

查看全部常见问题

不能。本期购买流程尚未接入在线支付。在定价页选择套餐并提交购买意向即可,我们会通过你留下的联系方式确认套餐与金额,再人工签发授权码。提交成功后页面会提示「我们会尽快联系你」。

把下一次发版交给流程

在业务项目里挂载通知组件,构建后回到桌面端点一次,剩下的交给 deploygo。