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.