Skip to content

surfstudio/surf_flutter_ci_cd

Repository files navigation

Surf Flutter CI/CD

Surf Flutter CI/CD - это набор инструментов и руководств, которые помогают оптимизировать процесс непрерывной интеграции и непрерывной доставки для мобильных приложений, написанных на Flutter.

Начало работы

Чтобы начать работу с Surf Flutter CI/CD, вам необходимо выполнить следующие шаги:

  1. Добавить зависимость в pubspec.yaml.
dev_dependencies:
    surf_flutter_ci_cd:
        git:
            url: https://github.com/surfstudio/surf_flutter_ci_cd.git
  1. В корне репозитория создать cd.yaml файл и настроить его под свой проект. Этот файл будет содержать конфигурацию сборки и доставки вашего приложения.
  2. В корне репозитория создать secrets.yaml файл и заполнить его данным для своего проекта. Этот файл будет содержать ваши секретные ключи и пароли, которые не должны быть доступны в открытом виде. Добавьте файл его в .gitignore, чтобы не пушить в ваш репозиторий.

Использование пакета

  1. Открыть терминал в корне проекта.
  2. Выполнить команду в формате:
    fvm flutter pub run surf_flutter_ci_cd [тип] --env=[окружение] --proj=[проект] --target=[платформа] --deploy-to=[сервис для доставки], где:
    [тип] - build(сборка), deploy(деплой), full(сборка и деплой);
    [окружение] - описанное в cd.yaml;
    [проект] - описанный в cd.yaml;
    [платформа] - android, ios;
    [сервис для доставки] - fb(Firebase, поддерживается Android и iOS), tf(Testflight - только iOS), gp(Google Play Console internal testing - только Android);
Для --target=ios всегда собирается ipa.
Для --target=android и --deploy-to=fb всегда собирается apk.
Для --target=android и --deploy-to=gp всегда собирается aab.

Основа

Все команды выполняются с помощью пакета process_run и создания экземпляра shell, который в свою очередь представляет из себя оболочку терминала Shell. С помощью ShellEnvironment создаются переменные окружения. В переменные окружения добавляется вся необходимая информация для работы fastlane. Различные токены, ключи и пути до файлов.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published