使用 Github Actions 持续发布 Flutter 应用
前言
Github Actions 是 Github 提供的一种 CI/CD 服务,如果你的 Flutter 应用代码放在 Github 上,那就可以使用这个服务自动化进行应用测试,构建,发布工作了。
先说下 Github Actions 几个核心概念,感觉还是挺易懂的,不得不说 Github Actions 的设计很厉害 😄
Workflow file
配置工作流程的文件,YAML 格式,放在项目根目录的 .github/workflows
目录内
Workflow
由配置文件定义的一个工作流程,由一系列的的任务组成
Job
工作流程中的一个任务,由一系列的步骤 Step 组成
Step
一个任务其中的一个执行步骤,执行一些命令或者 Action
Action
一个步骤中的具体要进行操作,如拉取代码,发送请求等,可以使用自己或社区共享的 Action
Event
触发工作流程运行的事件,比如推送代码到仓库 push,创建一个版本标签 tag 等
Artifact
工程流程执行时产生的东西
Runner
就是工作流程运行的地方,Github 提供的服务器
示例
下面用一个示例项目来说明如何使用 Github Actions 发布 Flutter 应用,先放成果 地址
- 首先创建一个 Flutter 项目
1 | flutter create flutter_github_actions |
- 添加一个配置文件
.github/workflows/main.yml
- 配置工作流程,将代码推送到 Github
1 | # main.yml |
- 创建 Token
要把构建出来的 apk 发布到仓库的 Release,还需要创建一个 Personal access token 提供发布 action 访问和操作代码仓库的权限,注意不要关闭浏览器标签,因为这个 token 只有在第一次创建的时候可见。
- 添加环境变量
最后为了能在工作流程中创建的 token,需要在仓库的 secrets 里添加一个环境变量 GITHUB_RElEASE_TOKEN
来储存 token 值
- 触发构建
最后创建一个版本标签,推送到仓库触发工作流程
1 | git tag v1.0.0 |
然后就可以在仓库的 Actions 里面看到正在运行的工作流程了
总结
总结一下就是以下 4 个步骤
- 创建一个工作流程的配置文件
.github/workflows/main.yml
- 创建一个 Personnal access token
- 在项目的 serect 里面添加一个环境变量
GITHUB_RElEASE_TOKEN
- 推送一个版本标签🏷️,触发工作流程
之后就可以在每次发布标签后自动发布了
更新
构建 Web 应用,发布到 Gihub Pages
1 | # 启用 Flutter web |