Plainship 是一个用于 Git 原生内容发布的轻量级发布系统.

你的内容本来就存在于 Markdown + Git 中. Plainship 将它们构建成静态网站——发布简单, 可靠, 并且可以轻松回滚.

Markdown + Git
      ↓
  Plainship
      ↓
    构建
      ↓
    发布
      ↓
  静态网站

三个原则:

  • Git 负责内容.
  • Plainship 负责发布.
  • 静态文件负责运行时.

你将获得:

  • 一条命令完成发布. plainship build 会构建内容, 提交并为每个版本创建 Git 标签(ps-N); plainship publish 将其推送到服务器. 各种保护机制会拒绝发布任何未完成的版本.

  • 每次构建都是一个版本. 版本号保存在 Git 标签中. 可以通过 git checkout ps-0003 && plainship build && plainship publish 回滚到指定版本. 服务器会以原子方式切换版本——不会出现部分更新的状态.

  • 完全可移植. 没有专有格式. 即使离开 Plainship, Markdown + Git 仍然可以被任何工具链使用; build/ 是普通的静态文件, 可以部署到 Nginx, GitHub Pages 或任何静态托管服务.

  • 小得离谱. 一个静态二进制文件, 无运行时依赖. 一条命令即可安装并启动服务器.

一个目录 + Markdown + Git + 一条命令 = 一个可以发布和回滚的网站.