在日常开发过程中,我们常常需要手动维护 GitHub 的 Release、附件资源、Tag 等内容,繁琐且容易出错。为了解决这个问题,我编写了一个脚本,用于自动删除指定的 GitHub Release 附件、对应的 Release 记录以及 Tag 标签,从而提高工作效率,降低误操作的风险。
使用说明
依赖项
curljq- GitHub Personal Access Token(需要
repo权限)
脚本功能
- 根据指定的 tag 获取 release_id;
- 查找 release 中名为
${asset_name}的附件; - 如果找到了,删除该附件;
- 删除对应的 release;
- 删除 tag。
使用方式
将以下代码保存到 delete_github_release.sh
环境变量:
1 | token="你的 GitHub Token" |
删除附件:
1 |
|
删除 release 和 tags 标签
1 |
|
执行代码
1 | bash delete_github_release.sh |
注意事项
- 建议先备份 Release 内容,确认无误后再执行脚本;
- GitHub 的 API 请求有频率限制,Token 权限不足也会导致操作失败;
tag必须已存在,否则无法获取release_id。
示例场景
你在自动化部署项目时,上传了多个 Release 文件,后续需要删除其中某一个旧版本资源,并清理无用的 Release 标签时可以使用本脚本。
结语
这个脚本可以集成到 CI/CD 流程中,也可以单独运行,灵活性高。如果你有更多想法或者改进建议,欢迎交流~
说些什么吧!