github自动编译Release版本
1 原理
GitHub Actions 是一个强大的自动化工具,可以帮助你简化开发流程的各种操作。从测试代码到部署应用,它几乎可以自动化开发中的任何任务。
这里使用它来自动发布 Obsidian 插件。当打 TAG 时,它会触发编译并发布新版本。
2 操作
2.1 设置工作流
在 github 项目中创建一个工作流配置文件
1 | mkdir.github/workflows/ |
yml 中具体内容见:ob 自动发布教程
2.2 本地测试
在本地安装一个与 yml 文件中类似的环境(node-version)。测试无误后,再上传 GitHub 进行编译。请确保 JSON 配置文件完整。
2.3 打标签即可触发工作流
1 | git tag -a 1.0.0 -m "1.0.0" |
如果标签错误,需要先删除原有标签,然后重新标记;也可以在界面上重新运行工作流。
1 | git tag -d 1.0.0 |
理论上,标签可以根据个人喜好命名,比如 v1.0 和 1.0 都是可以的。但有些软件有特定要求,例如,Obsidian 要求插件命名中只能使用数字和点。
3 调试
- 在 GitHub 项目的界面上,点击“Actions”选项卡,即可查看工作流的进度。
- 如果出现错误,可以在此界面查看错误原因。
- 修改后,点击进入工作流,在右上角可以选择“Rerun job”。
- 如果工作流运行正常,即可在 GitHub 项目右侧的“Release”链接中看到生成的软件版本。
4 问题与解决
4.1 权限问题
- 描述:Build 成功,但在 Release 时显示没有写入权限。
- 报错:HTTP 403: Resource not accessible by integration
- 解决方法:在 yml 文件中启用写权限。
1 | jobs: |
4.2 草稿问题
根据官方提供的默认配置文件,发布版本会默认以草稿形式出现,项目开发者以外的其它人看不到该版本,需要手动更改为正式发布 (Draft->Edit->Publish Release)。如果希望直接发布,可以在命令中去掉 --draft 参数。
如果是其它 yml 文件,可尝试:
1 | - name: Create Release |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.