软件是用 golang 写的 B/S 架构, 私有化部署到客户主机上. 为了考虑到兼容性, 使用了 静态链接 打包为 elf 文件.
elf
产品的需求是, 用户在 web 管理界面 点击一个按钮, 来检查是否有更新的版本, 如果有, 则自动下载, 更新.
web 管理界面
工作流已经放到了 gitlab CI 上, 新建标签来触发 CI 放到 gitlab-runner 中自动构建.
gitlab CI
检测是否是最新版, 然后下载最新版这个功能问题不大, 二进制文件要如何更新并自动运行呐?