← Назад к вопросам

Как деплоить Flutter приложение в production?

2.2 Middle🔥 131 комментариев
#Git и CI/CD#Компиляция

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Как деплоить 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

Вывод

Деплой включает:

  1. Подготовка - сертификаты, версии, конфигурация
  2. Сборка - flutter build для платформы
  3. Тестирование - проверка на реальном устройстве
  4. Загрузка - на App Store / Play Store / Firebase
  5. Мониторинг - отслеживание ошибок

Автоматизация через CI/CD экономит время и снижает ошибки.

Как деплоить Flutter приложение в production? | PrepBro