Как деплоить Flutter приложение в production?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Как деплоить Flutter приложение в production
Общий процесс деплоя
Процесс деплоя зависит от платформы (Android, iOS, Web), но есть общие этапы: подготовка, сборка, тестирование, выпуск.
Android деплой
Шаг 1: Создание ключа для подписи
Генерируем keystore файл для подписания APK.
Шаг 2: Конфигурирование Gradle
Указываем ключ в build.gradle и конфигурируем release build type.
Шаг 3: Сборка
flutter build apk --release
flutter build appbundle --release
Rezultat:
- APK: build/app/outputs/flutter-apk/app-release.apk
- AAB: build/app/outputs/bundle/release/app-release.aab
Шаг 4: Загрузка в Play Store
Загружаем файл через веб-интерфейс https://play.google.com/console
iOS деплой
Шаг 1: Сертификаты
Создаем distribution certificate в Apple Developer Program.
Шаг 2: Provisioning Profile
Создаем профиль для App Store distribution.
Шаг 3: Конфигурирование Xcode
Открываем ios/Runner.xcworkspace и настраиваем signing.
Шаг 4: Сборка
flutter build ios --release
Далее архивируем в Xcode через Product → Archive.
Шаг 5: Загрузка
Используем Transporter для загрузки на App Store.
Web деплой
Сборка:
flutter build web --release
Деплой на Vercel:
npm install -g vercel
cd build/web
vercel --prod
Или на Firebase:
npm install -g firebase-tools
firebase init hosting
firebase deploy
Чеклист перед деплоем
Код:
- Все тесты проходят (flutter test)
- Нет ошибок анализа (flutter analyze)
- Версия обновлена в pubspec.yaml
Подготовка:
- API endpoints на production
- Debug логирование отключено
- Приватные ключи в переменных окружения
- Сертификаты действительны
Тестирование:
- Собрать release локально
- Протестировать на реальном устройстве
- Проверить перформанс
- Проверить crash logs
Управление версиями
В pubspec.yaml: version: 1.0.0+1
Формат: major.minor.patch+buildNumber
CI/CD автоматизация
Используйте GitHub Actions для автоматизации:
- Build на каждый push
- Тесты перед деплоем
- Автоматическая загрузка на stores
Мониторинг после деплоя
Настройте Firebase Crashlytics для отслеживания ошибок и краш-репортов.
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
void main() async {
await Firebase.initializeApp();
FlutterError.onError = (errorDetails) {
FirebaseCrashlytics.instance.recordFlutterError(errorDetails);
};
runApp(const MyApp());
}
Rollback стратегия
Если релиз вызвал проблемы:
- Android: Play Store → Unpublish
- iOS: App Store Connect → Reject
- Web: vercel rollback
Вывод
Деплой включает:
- Подготовка - сертификаты, версии, конфигурация
- Сборка - flutter build для платформы
- Тестирование - проверка на реальном устройстве
- Загрузка - на App Store / Play Store / Firebase
- Мониторинг - отслеживание ошибок
Автоматизация через CI/CD экономит время и снижает ошибки.