EAS Build (Expo Application Services Build) — это инструмент для создания и развертывания приложений на базе Expo. Он позволяет автоматизировать процесс сборки, управления метаданными и конфигурацией приложений, что упрощает разработку и развертывание на различных платформах.
Введение
EAS Build предоставляет разработчикам возможность создавать приложения для iOS и Android с использованием облачной инфраструктуры. Это значительно упрощает процесс сборки, устраняя необходимость в локальной настройке окружения разработки и позволяя сосредоточиться на написании кода.
Для начала работы с EAS Build, вам нужно установить eas-cli
и настроить проект.
Установка и настройка
Для установки eas-cli
выполните следующую команду:
npm install -g eas-cli
Далее, настройте проект для использования EAS Build:
- Создайте файл
eas.json
в корневой директории проекта. - Добавьте конфигурацию сборки в
eas.json
. Пример:
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"production": {
"ios": {
"buildType": "app-store"
},
"android": {
"buildType": "apk"
}
}
}
}
Основные команды EAS Build
eas build
Команда eas build
используется для создания сборки вашего приложения. Пример использования:
eas build --platform android
eas build --platform ios
Параметры:
--platform <platform>
— Указывает платформу для сборки (android или ios).--profile <profile>
— Указывает профиль сборки, определенный вeas.json
.--non-interactive
— Запускает команду в неинтерактивном режиме.--local
— Выполняет локальную сборку.
Конфигурация EAS Build
Конфигурация сборки задается в файле eas.json
. Этот файл содержит настройки для различных профилей сборки, таких как "development" и "production".
Пример конфигурации:
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"production": {
"ios": {
"buildType": "app-store"
},
"android": {
"buildType": "apk"
}
}
}
}
Вы можете задавать различные параметры для каждой платформы и типа сборки.
Внутреннее распространение
EAS Build поддерживает внутреннее распространение приложений, что позволяет вам делиться сборками с вашей командой без необходимости их публикации в магазинах приложений. Для этого используйте параметры distribution: "internal"
в eas.json
:
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
}
}
}
Автоматизация отправки
EAS Build позволяет автоматизировать процесс отправки сборок в магазины приложений. Для этого используйте команду eas submit
после успешной сборки:
eas submit --platform ios --latest
eas submit --platform android --latest
Вы также можете настроить автоматическую отправку в eas.json
:
{
"submit": {
"production": {
"ios": {
"appleId": "your-apple-id",
"ascAppId": "your-app-store-connect-app-id"
},
"android": {
"serviceAccountKeyPath": "./path/to/your-service-account-key.json"
}
}
}
}
Обновления приложений
EAS Build поддерживает механизм обновлений приложений. Вы можете выпускать обновления без необходимости пересборки приложения. Для этого используйте команду eas update
:
eas update --branch main --message "Bug fixes and improvements"
Сборка на CI
EAS Build можно интегрировать с системами непрерывной интеграции (CI), такими как GitHub Actions, CircleCI, Travis CI и другие. Это позволяет автоматизировать процесс сборки и развертывания приложений. Пример настройки для GitHub Actions:
name: Build and Deploy
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: 14
- name: Install dependencies
run: npm install
- name: Log in to EAS
run: npx eas-cli login --token ${{ secrets.EAS_TOKEN }}
- name: Build with EAS
run: npx eas build --platform all --non-interactive
Заключение
EAS Build предоставляет мощный набор инструментов для управления сборками, деплоями и обновлениями приложений на базе Expo. Используя EAS Build, разработчики могут автоматизировать многие аспекты разработки и развертывания, что упрощает создание и поддержку приложений.