LV03-GitHubActions-02-自动发布release
前面有在学习linux开发,每一次是在本地编译的,前面了解到Github Actions支持linux系统的,那是不是可以用来自动编译程序然后打包发布?若笔记中有错误或者不合适的地方,欢迎批评指正😃。
点击查看使用工具及版本
PC端开发环境 | Windows | Windows11 |
Ubuntu | Ubuntu20.04.2的64位版本 | |
VMware® Workstation 17 Pro | 17.6.0 build-24238078 | |
终端软件 | MobaXterm(Professional Edition v23.0 Build 5042 (license)) | |
Win32DiskImager | Win32DiskImager v1.0 | |
Linux开发板环境 | Linux开发板 | 正点原子 i.MX6ULL Linux 阿尔法开发板 |
uboot | NXP官方提供的uboot,使用的uboot版本为U-Boot 2019.04 | |
linux内核 | linux-4.19.71(NXP官方提供) |
点击查看本文参考资料
分类 | 网址 | 说明 |
官方网站 | GitHub Actions 工作流程语法 | GitHub Actions 工作流程语法 - GitHub 文档 - GitHub 文档 |
YAML官网 | 在这里可以找到YAML的基本语法 |
点击查看相关文件下载
分类 | 网址 | 说明 |
--- | --- | --- |
这个其实是为后面的linux开发做铺垫。
一、Github仓库
1. 创建一个仓库
sumumm/linux-release: 学习linux开发过程中资源自动打包使用
2. 设置仓库密钥
GitHub Actions多数时候会调用一个叫做github-actions
的机器人进行工作,这意味着我们必须为仓库添加Token才能让GitHub Actions正常工作。
2.1 创建个人令牌
点击这里进入settings页面:

点击最下面的Developer settings
,选中Personal access tokens
:

选中子选项Token (classic)
,点击右上角Generate
后再次选择classic
,在密钥的设置界面取个名字,设置日期,勾选框图中的三个权限即可。

拉到最下方点击generate
后,复制密钥信息:

这里好像就创建完成可以看到个人令牌的那个字符串,后面就看不到了,我备份在了自己的 个人笔记私有仓库 sumumm/sumu_note: 我的学习笔记 中。
2.2 配置仓库
打开项目的settings
页面,找到Secrets
选项卡,选中Actions
,选中下方New secret
,名字不重要可以随便取,但是这个名字要记住后面要用,填入刚刚的密钥后保存即可。

创建完成如下:

最后点击添加就可以了:

3. 仓库权限配置
因为Release涉及文件读取,因此要把setings-Action-general
中的读写权限开启:

拉到最下面:

最后点击Save就可以了。
二、配置自动化文件
GitHub Actions的自动化信息来自项目根目录下.github/workflows
文件夹下后缀为.yml
的文件(其文件格式遵循yaml)。Yaml文件在GitHub Actions中具有条件判断能力,我们可以设置多个文件来满足不同的需要。
可以直接看这里吧:linux-release/.github/workflows/release.yml at master · sumumm/linux-release
参考资料