如何配置GitHub仓库,Linux下无需完整克隆即可安装仓内.tar.gz格式程序
配置方案实现步骤
仓库侧基础配置
- 给每款程序的每个版本打独立的语义化标签,标签命名规则必须全局统一,建议采用
{程序名}-v{主版本号}.{次版本号}.{修订号}的格式,例如app1-v1.0.0、app2-v2.3.1,每个标签仅对应一次提交,提交内容仅包含当前版本的tar.gz包,避免冗余文件占用。 - 在仓库主分支根目录新增纯文本版本索引文件
VERSION_LIST,每行按固定格式记录程序名、版本号、tar.gz包在仓库内的相对路径、SHA256校验值,参考格式如下:
# VERSION_LIST 示例内容 app1 v1.0.0 releases/app1/app1-v1.0.0.tar.gz sha256:7a9f9d3e8b7c6d5f4a3b2c1d0e9f8a7b6c5d4f3e2a1b0c9d8e7f6a5b4c3d2e1f app1 v1.1.0 releases/app1/app1-v1.1.0.tar.gz sha256:1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c app2 v0.9.0 releases/app2/app2-v0.9.0.tar.gz sha256:9f8e7d6c5b4a3b2c1d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c app2 v1.0.0 releases/app2/app2-v1.0.0.tar.gz sha256:3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c7a9f9d3e8b7c6d5f4a3b2c1d
- 所有tar.gz包按
releases/{程序名}/{包名}的固定层级存放,路径一旦确定不要随意修改,保证下载链接长期稳定。
Linux端安装方法(无需克隆整个仓库)
- 先拉取版本索引文件查询所有可用版本,仅需要下载这一个1KB级的小文件即可获取全量版本信息:
curl https://raw.githubusercontent.com/<你的GitHub用户名>/<你的仓库名>/main/VERSION_LIST - 确定要安装的版本后,直接用
wget或curl拉取对应版本的tar.gz包即可,不需要拉取仓库其他任何内容,命令示例:wget https://raw.githubusercontent.com/<你的GitHub用户名>/<你的仓库名>/<对应版本标签>/releases/<程序名>/<对应包名>.tar.gz - 下载完成后先校验SHA256值和索引文件中的记录一致,再解压使用:
tar -zxvf <对应包名>.tar.gz
解压后按程序自身的安装说明执行安装流程即可。
可选优化配置
- 可以在每个版本的标签对应的GitHub Release页面,将对应版本的tar.gz包作为附件上传,用户也可以直接通过Release的附件链接拉取安装包。
- 可以给每个tar.gz包配套对应版本的一键安装脚本,和安装包放在同一路径下,用户拉取后直接执行脚本即可完成安装,无需手动操作。
内容的提问来源于stack exchange,提问作者crocodile2221
相关产品推荐
相关产品推荐

