📅  最后修改于: 2023-12-03 15:15:07.378000             🧑  作者: Mango
在 Flutter 开发中,我们需要对我们的应用进行构建和部署。通过使用 Github Actions,我们可以自动化这些过程,从而让我们的开发更加高效。
本文将介绍如何使用 Github Actions 进行构建和部署,涵盖以下部分:
首先,我们需要在 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 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 中。我们可以使用 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 来完成这个步骤。
首先,我们需要在 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 中,从而让我们的开发更加高效。