📌  相关文章
📜  Flutter – 使用 GitHub Actions 构建和发布 APK(1)

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

Flutter – 使用 GitHub Actions 构建和发布 APK

简介

在Flutter开发中,构建和发布Android应用程序是一个重要的任务。GitHub Actions是一个强大的自动化工具,可以帮助我们自动构建和发布应用程序。本文将介绍如何使用GitHub Actions来自动构建和发布Flutter应用程序的APK文件。

步骤
1. 配置构建文件

在Flutter项目的根目录下,创建一个名为.github/workflows的文件夹。在该文件夹中,创建一个名为build.yaml的YAML文件,用于配置构建过程。

name: Flutter Build

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2
      
      - name: Set up Flutter
        uses: subosito/flutter-action@v1
        with:
          channel: stable
      
      - name: Install Dependencies
        run: flutter pub get
      
      - name: Build APK
        run: flutter build apk

      - name: Save APK Artifact
        uses: actions/upload-artifact@v2
        with:
          name: app
          path: build/app/outputs/flutter-apk/app.apk

上述配置文件中,定义了一个workflow,通过push事件来触发构建过程。在构建过程中,会进行以下步骤:

  1. 检出代码仓库
  2. 安装Flutter
  3. 安装依赖项
  4. 构建APK文件
  5. 保存APK文件作为artifact
2. 配置GitHub Actions

在GitHub仓库中,进入Actions选项卡,点击New workflow来创建一个新的workflow文件。

name: Flutter Build and Release

on:
  release:
    types:
      - created

jobs:
  build_and_release:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2
      
      - name: Set up Flutter
        uses: subosito/flutter-action@v1
        with:
          channel: stable
      
      - name: Install Dependencies
        run: flutter pub get
      
      - name: Build APK
        run: flutter build apk

      - name: Save APK Artifact
        uses: actions/upload-artifact@v2
        with:
          name: app
          path: build/app/outputs/flutter-apk/app.apk
      
      - name: Create Release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          body: Automated release
                    
      - name: Upload Release Asset
        id: upload-release-asset
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }}
          asset_path: ./build/app/outputs/flutter-apk/app.apk
          asset_name: app.apk
          asset_content_type: application/vnd.android.package-archive

上述配置文件定义了一个workflow,通过release事件来触发构建和发布过程。在构建和发布过程中,会进行以下步骤:

  1. 检出代码仓库
  2. 安装Flutter
  3. 安装依赖项
  4. 构建APK文件
  5. 保存APK文件作为artifact
  6. 创建发布
  7. 上传APK文件作为release asset
3. 运行工作流程

一旦GitHub Actions的配置文件准备好,可以通过执行以下步骤来触发构建和发布过程:

  1. 提交代码并推送到仓库的main分支
  2. 创建一个新的release

完成上述步骤后,GitHub Actions将会自动运行构建和发布过程,生成并上传APK文件。

结论

使用GitHub Actions可以帮助程序员自动化构建和发布Flutter应用程序的APK文件。本文介绍了如何配置GitHub Actions工作流程来实现自动构建和发布。这种自动化流程能够提高开发效率,并对团队合作和持续集成非常有价值。

请记住,在创建和发布APK文件之前,确保正确配置了Flutter环境并安装了必要的依赖项。

Happy coding!