Комплексное руководство по созданию и развертыванию приложений Flutter с помощью действий GitHub

Flutter, кроссплатформенная платформа Google для создания красивых нативных приложений, завоевала огромную популярность среди разработчиков. Чтобы упростить процесс создания и развертывания приложений Flutter, интеграция GitHub Actions с хостингом Firebase, TestFlight и Google Play может значительно улучшить ваш рабочий процесс разработки. В этой статье мы рассмотрим различные методы и приведем примеры кода для каждого шага.

Метод 1: создание и развертывание веб-приложения на хостинге Firebase
Действия GitHub можно использовать для автоматической сборки и развертывания вашего веб-приложения Flutter на хостинге Firebase. Вот пример рабочего процесса:

name: Build and Deploy Web
on:
  push:
    branches:
      - main
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Set up Node.js
        uses: actions/setup-node@v2
        with:
          node-version: 14
      - name: Build and Deploy
        run: |
          cd web/
          flutter build web
          npm install -g firebase-tools
          firebase login:ci --no-localhost
          firebase deploy --only hosting

Метод 2: развертывание приложения iOS в TestFlight
С помощью действий GitHub вы можете автоматизировать развертывание приложения Flutter для iOS в TestFlight. Вот пример рабочего процесса:

name: Deploy to TestFlight
on:
  push:
    branches:
      - main
jobs:
  build-and-deploy:
    runs-on: macos-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Set up Flutter
        uses: subosito/flutter-action@v1
      - name: Install dependencies
        run: flutter pub get
      - name: Build iOS app
        run: flutter build ios --release --no-codesign
      - name: Upload to TestFlight
        run: |
          fastlane pilot upload --ipa "build/ios/iphoneos/Runner.ipa"
          # Additional steps for distributing to testers, if needed

Метод 3: развертывание приложения Android в Google Play
GitHub Actions также может автоматизировать развертывание вашего приложения Flutter для Android в Google Play. Вот пример рабочего процесса:

name: Deploy to Google Play
on:
  push:
    branches:
      - main
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Set up Flutter
        uses: subosito/flutter-action@v1
      - name: Install dependencies
        run: flutter pub get
      - name: Build Android app
        run: flutter build appbundle --release
      - name: Upload to Google Play
        uses: r0adkll/upload-google-play@v1
        with:
          service-account-json: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
          package-name: com.example.myapp
          bundle-path: build/app/outputs/bundle/release/app-release.aab

Интегрируя действия GitHub с хостингом Firebase, TestFlight и Google Play, вы можете автоматизировать процесс сборки и развертывания своих приложений Flutter. Это не только экономит время и усилия, но и обеспечивает более плавный рабочий процесс разработки. С помощью методов, представленных в этой статье, вы можете использовать возможности CI/CD и непрерывного развертывания для оптимизации разработки приложений Flutter.