flutter 代码仓库_使用 Github Actions 持续发布 Flutter 应用

47b5b8f8492d5527ad3f478415b2f368.png

前言

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 应用,先放成果 地址

e331f1f3f7d881a9e868ec274f182987.png

首先创建一个 Flutter 项目

flutter create flutter_github_actions

添加一个配置文件 .github/workflows/main.yml

af7d1683abed6bed7f3d794a36b306e7.png

配置工作流程,将代码推送到 Github

# main.yml

# 工作流程的名字
name: Test, Build and Release apk

# 工作流程触发的时机,这里是当一个版本标签推送到仓库时触发
on:
  push:
    tags:
      - v*

# 这个工作流程需要执行的任务
jobs:
  process:
    name: all process
    runs-on: ubuntu-latest
    # 这个任务的步骤
    steps:
      # 拉取项目代码
      - uses: actions/checkout@v2
      # 建立 java 环境
      - name: Setup Java JDK
        uses: actions/setup-java@v1.3.0
        with:
          java-version: "12.x"
      # 建立 Flutter 环境
      - name: Flutter action
        uses: subosito/flutter-action@v1.1.1
        with:
          channel: "stable"
          flutter-version: "1.12.x"
      # 下载项目依赖
      - run: flutter pub get
      # 执行测试
      - run: flutter test
      # 打包 APK
      - run: flutter build apk --release
      # 发布到 Release
      - name: Release apk
        uses: ncipollo/release-action@v1.5.0
        with:
          artifacts: "build/app/outputs/apk/release/*.apk"
          token: ${{ secrets.GITHUB_RElEASE_TOKEN }}

创建 Token

要把构建出来的 apk 发布到仓库的 Release,还需要创建一个 Personal access token 提供发布 action 访问和操作代码仓库的权限,注意不要关闭浏览器标签,因为这个 token 只有在第一次创建的时候可见。

efb546a1424dc04b539708d6966ed897.png

添加环境变量

最后为了能在工作流程中创建的 token,需要在仓库的 secrets 里添加一个环境变量 GITHUB_RElEASE_TOKEN 来储存 token 值

4aa8eba4a21f316912f5aa59495ffd1e.png

触发构建

最后创建一个版本标签,推送到仓库触发工作流程

git tag v1.0.0

git push --tag

然后就可以在仓库的 Actions 里面看到正在运行的工作流程了

82f81f8d1831a58b373038621162a3cb.png

总结

总结一下就是以下 4 个步骤

  1. 创建一个工作流程的配置文件 .github/workflows/main.yml
  2. 创建一个 Personnal access token
  3. 在项目的 serect 里面添加一个环境变量 GITHUB_RElEASE_TOKEN
  4. 推送一个版本标签 ️,触发工作流程

之后就可以在每次发布标签后自动发布了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值