Flutter如何使用GitHub Action进行CI/CD

我想在Flutter项目中使用GitHub Action实现CI/CD自动化流程,但不太清楚具体该如何配置。能否详细说明一下需要哪些步骤?比如如何设置workflow文件、集成测试和构建APK/IPA文件,以及如何自动发布到应用商店或Firebase等平台?最好能提供完整的yaml配置示例和常见问题的解决方案。

2 回复

在Flutter项目根目录创建.github/workflows文件夹,添加YAML配置文件。配置触发条件、环境变量、依赖安装、测试和构建步骤。使用flutter pub get安装依赖,flutter test运行测试,flutter build构建应用。可配置自动发布到应用商店或生成APK/IPA文件。

更多关于Flutter如何使用GitHub Action进行CI/CD的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter项目中使用GitHub Actions进行CI/CD,可以自动执行测试、构建和部署流程。以下是基本配置步骤:

1. 创建Workflow文件

在项目根目录创建 .github/workflows/ci.yml 文件。

2. 配置基础Workflow

name: Flutter CI/CD

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - uses: subosito/flutter-action@v2
        with:
          flutter-version: '3.x'
          
      - run: flutter pub get
      
      - run: flutter test
      
  build:
    runs-on: ubuntu-latest
    needs: test
    steps:
      - uses: actions/checkout@v4
      
      - uses: subosito/flutter-action@v2
        with:
          flutter-version: '3.x'
          
      - run: flutter pub get
      
      - run: flutter build apk --release
        # 或 flutter build ios --release (需要macOS环境)
      
      - uses: actions/upload-artifact@v4
        with:
          name: build-apk
          path: build/app/outputs/flutter-apk/

3. 关键配置说明

  • 触发器:配置代码推送或PR时自动运行
  • Flutter环境:使用 subosito/flutter-action 快速设置环境
  • 依赖安装flutter pub get 获取依赖包
  • 测试阶段:运行 flutter test 执行单元测试
  • 构建阶段:生成发布版本的应用文件

4. 扩展功能

  • 代码检查:添加 flutter analyze
  • 格式检查:添加 flutter format --set-exit-if-changed
  • 多平台构建:配置矩阵策略同时构建Android和iOS
  • 部署:集成Firebase App Distribution、App Center或直接发布到应用商店

5. 注意事项

  • iOS构建需要macOS运行器
  • 敏感信息(如签名证书)应使用GitHub Secrets存储
  • 可根据项目需求添加缓存优化构建速度

这个配置提供了基础的CI/CD流水线,可根据具体需求进一步定制化。

回到顶部