📜  Flutter Github Actions 构建和部署 Web 到 Firebase 托管、iOS 到 Testflight、Android 到 Google Play (fastlane) (1)

📅  最后修改于: 2023-12-03 15:15:07.378000             🧑  作者: Mango

Flutter Github Actions 构建和部署

简介

在 Flutter 开发中,我们需要对我们的应用进行构建和部署。通过使用 Github Actions,我们可以自动化这些过程,从而让我们的开发更加高效。

本文将介绍如何使用 Github Actions 进行构建和部署,涵盖以下部分:

  • 构建 Flutter 应用
  • 部署到 Firebase 托管
  • 部署到 iOS Testflight
  • 部署到 Android Google Play (fastlane)
构建 Flutter 应用

首先,我们需要在 Github Actions 中配置构建 Flutter 应用的步骤。以下是一个例子:

name: Build and Deploy

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Setup Flutter
        uses: subosito/flutter-setup@v2
        with:
          flutter-version: '2.2.2'

      - name: Get Packages
        run: flutter pub get

      - name: Build APK
        run: flutter build apk --release

以上代码的意思是,我们在 Github Actions 中创建一个名为 “Build and Deploy” 的工作流程,当我们的代码库 “main” 分支有新的代码提交时触发该工作流程。

在我们的工作流程中,我们使用 Ubuntu 作为操作系统,使用 actions/checkout 来检出我们的代码库,然后使用 subosito/flutter-setup 来安装 Flutter,并使用 flutter build apk --release 命令来构建我们的 Android 应用。

这是一个基本的 Flutter 构建步骤的例子,我们可以根据实际情况进行修改和扩展。

部署到 Firebase 托管

接下来,我们将介绍如何将我们的应用部署到 Firebase 托管中。我们可以使用 Firebase CLI 来完成这个步骤。

首先,我们需要在 Github Actions 中设置 Firebase CLI。以下是一个例子:

- name: Setup Firebase CLI
  uses: w9jds/firebase-action@master
  with:
    args: >-
      tools
      --non-interactive
      --token "${{ secrets.FIREBASE_TOKEN }}"

在我们的工作流程中,我们使用 w9jds/firebase-action 来安装和配置 Firebase CLI。我们需要在 Github Secrets 中设置 FIREBASE_TOKEN,这个 token 可以在 Firebase 控制台中生成。

然后,我们可以使用以下命令来部署我们的应用到 Firebase 托管:

- name: Deploy to Firebase Hosting
  run: firebase deploy --only hosting

这个命令会将我们的应用部署到 Firebase 托管中。我们可以根据实际情况修改部署的参数。

部署到 iOS Testflight

接下来,我们将介绍如何将我们的应用部署到 iOS Testflight 中。我们可以使用 fastlane 来完成这个步骤。

首先,我们需要在 Github Actions 中安装和配置 fastlane。以下是一个例子:

- name: Install Fastlane
  run: bundle install --jobs 4 --retry 3

- name: Set up Fastlane
  run: fastlane setup

在我们的工作流程中,我们使用 bundle install 命令来安装 fastlane,然后使用 fastlane setup 命令来配置 fastlane。

接下来,我们可以使用以下命令来构建和部署我们的应用到 iOS Testflight:

- name: Build and Deploy to TestFlight
  run: fastlane release

这个命令会构建我们的应用,并将其上传到 Apple 的 Testflight 中。我们可以根据实际情况修改构建和部署参数。

部署到 Android Google Play (fastlane)

最后,我们将介绍如何将我们的应用部署到 Android Google Play 中。我们同样可以使用 fastlane 来完成这个步骤。

首先,我们需要在 Github Actions 中安装和配置 fastlane。与 iOS Testflight 相同。

接下来,我们可以使用以下命令来构建和部署我们的应用到 Android Google Play:

- name: Build and Deploy to Google Play
  run: fastlane android deploy

这个命令会构建我们的应用,并将其上传到 Android Google Play 中。我们可以根据实际情况修改构建和部署参数。

总结

通过使用 Github Actions,我们可以轻松地自动化我们的 Flutter 应用的构建和部署过程。我们可以将我们的应用部署到 Firebase 托管、iOS Testflight 和 Android Google Play 中,从而让我们的开发更加高效。