Попрощайтесь с «О нет, я забыл поднять версию»

Fastlane автоматизирует развертывание мобильных приложений

Традиционно для выпуска приложения требуется значительный объем работы по разработке мобильных приложений.

Поскольку NoOps и кроссплатформенные фреймворки (которые удваивают усилия по выпуску) становятся популярными в 2020 году, разработчики стремятся максимально автоматизировать развертывание приложений.

Fastlane - это утилита для автоматизации развертывания iOS и Android на торговых площадках.

Отсутствует поддержка Fastlane для управления версиями Flutter

Управление версиями необходимо для автоматизации журнала изменений и загрузки снимков экрана на торговые площадки.

Поскольку Flutter является новым, в настоящее время автоматизация его версий не поддерживается. Поэтому всякий раз, когда происходит обновление версии, разработчикам приходится вручную синхронизировать изменения в конфигурации Fastlane:

Fastlane достаточно настраиваемый для поддержки самостоятельного управления версиями Flutter

Fastlane легко настраивается для любой произвольной реализации Ruby.

Благодаря настраиваемой структуре Fastlane мы можем сами создать плагин для автоматизации управления версиями.

Давайте шаг за шагом создадим плагин управления версиями Flutter для Fastlane.

Шаг 1. Инициализируйте плагин Fastlane.

Все плагины Fastlane начинаются с fastlane new_plugin flutter_version, удобной утилиты для инициализации всего, что нужно плагину.

В этом случае fastlane new_plugin flutter_version инициализирует плагин с именем flutter_version, которое выглядит следующим образом:

Шаг 2. Добавьте метаданные

Следующим шагом будет добавление контактной информации в метаданные плагина:

Шаг 3. Прочтите файл конфигурации Flutter

Первый шаг - прочитать и проанализировать файл конфигурации, содержащий все метаданные о проекте Flutter:

Шаг 4. Получите и верните код версии Flutter

После анализа метаданных проекта Flutter мы можем получить код версии:

Шаг 5. Опубликуйте плагин

Следующие команды выпустят наш плагин в RubyGems, чтобы другие разработчики могли его использовать:

Шаг 6. Используйте плагин в проекте Flutter

После того, как плагин станет общедоступным, вы можете использовать его в проекте Flutter, добавив следующий код в Fastfile:

Как показано в следующем выполнении Fastlane, flutter_version() оценивается как 8, что является кодом версии, определенным в pubspec.yaml:

Ура! Релиз автоматический:

Журнал изменений будет обновляться автоматически по мере продвижения версии в pubspec.yaml.

Ресурсы

Для людей, которые заинтересованы в добавлении поддержки управления версиями для проектов Flutter, пожалуйста, используйте созданный мной плагин:



Для тех, кто хочет проверить полную реализацию, посетите репозиторий:



Для людей, которым интересно, как использовать плагин в проекте Flutter, просим ознакомиться с репозиторием примеров Mini Donkey (приложение для зашифрованной стеганографии):