Flutter — сборка и выпуск APK с помощью GitHub Actions
Github Actions — это инструмент Github, который позволяет пользователям создавать конвейеры CI/CD непосредственно в проекте Github вместо перехода на сторонний веб-сайт. Это очень удобно помогает нам в разработке, тестировании и выпуске нашего проекта. В этой статье мы собираемся построить рабочий процесс для нашего проекта флаттера. Сначала мы создадим проект, используя рабочий процесс, а затем выпустим APK в разделе артефактов Github Actions.
Prerequisites: Basic understanding of Github Actions and writing Workflows using Github Actions.
Итак, теперь, когда у нас есть общее представление о том, как написать рабочий процесс, давайте сначала создадим проект Github во флаттере и создадим файл .yml с именем flutter-workflow.yml в каталоге .github/workflows в корневом каталоге проекта. Начните писать код в этом файле.
name: Flutter CI
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-java@v1
with:
java-version: "12.x"
- uses: subosito/flutter-action@v1
with:
channel: "beta"
- run: flutter pub get
- run: flutter format --set-exit-if-changed .
- run: flutter analyze .
- run: flutter build apk
- uses: actions/upload-artifact@v1
with:
name: release-apk
path: build/app/outputs/apk/release/app-release.apkПрежде всего, мы даем имя нашему рабочему процессу, здесь имя — Flutter CI. Каждый рабочий процесс должен иметь блок « on» , который дает команду запускать рабочий процесс, как только будет достигнуто действие, определенное в этом блоке. В нашем случае мы указали, что всякий раз, когда в основной ветке будет новый толчок , рабочий процесс будет запущен. Задания являются важной частью рабочего процесса, в котором будут содержаться сведения о задачах, которые необходимо выполнить. Здесь мы указали только одно задание, которое является сборкой. Каждая сборка должна пройти настройку виртуальной среды, которая указана в разделе запуска . Здесь мы используем ubuntu-latest, размещенный на Github.
Теперь идет раздел шагов , в котором мы определяем шаги, которые будут выполняться при запуске рабочего процесса. Для создания нашего кода мы должны сначала выполнить проверку в нашем репозитории, написав action/checkout@v1.
Следующим шагом будет настройка java с помощью action/setup-java@v1 . Когда мы настраиваем java, нам также нужно настроить флаттер, чтобы создать наше приложение. Следовательно, мы определяем subosito/flutter-action@v1. Когда мы настроили java и флаттер, нам нужно получить зависимости флаттера, чтобы построить проект. Итак, мы определяем флаттер-паб. Как только мы получим зависимости, мы форматируем наш код, формат флаттера —set-exit-if-changed. флаттер анализировать. запускает статический анализ нашего кода.
Теперь наступает основная часть сборки apk и загрузки APK в раздел артефактов. Для этого мы говорим flutter build apk и загружаем APK с помощью action/upload-artifact@v1 из каталога build/app/outputs/apk/release/app-release.apk в раздел Artifacts нашего проекта. После написания кода зафиксируйте его, отправив сообщение, и перейдите на вкладку «Действия», чтобы увидеть, как выполняется рабочий процесс.

После завершения выполняемой сборки снова щелкните вкладку «Действия», а затем щелкните последний рабочий процесс, который только что завершился. Прокрутите страницу вниз, и вы увидите apk с именем release-apk в разделе артефактов.

Таким образом, мы создали рабочий процесс, который позволит вам создавать артефакты каждый раз, когда в основной кодовой базе, т. е. в основной ветке, происходит новый толчок, и загружать только что собранный APK в раздел артефактов Github Actions.