EAS Build
Expoアプリをcloud上でbuildする
署名もする
expo.devでbuild状況を見れる
eas-cliが必要
従来の$ expo buildを置き換えたもの
expo buildとeas buildの違いに書いた
docs
eas.json
設定ファイル
EAS Expoのbuild生成物を共有する
commands
λ eas build
#WIP
https://blog.expo.dev/eas-build-changelog-43b886b2fa24
autoIncrement
裏でfastlaneを使ってる
$ eas webhook:create
https://blog.expo.dev/turtle-goes-out-to-sea-d334db2a6b60#:~:text=expo%20webhooks%3A*%3A%20this%20command%20lets%20you%20set%20up%20a%20webhook%20that%20the%20Classic%20Build%20service%20notifies%20when%20a%20build%20finishes.%20With%20EAS%2C%20the%20new%20command%20is%20eas%20webhook%3Acreate.
https://blog.expo.io/expo-application-services-eas-build-and-submit-fc1d1476aa2e
credentials.json
Expo serverで以下のことが行われている ref
projectのshallow cloneを作成し、圧縮し、cloudにupload
EAS Buildは新しいVMを構成し、project archiveをdownloadする
JSの依存libraryとnativeの依存libraryをinstall
fastlane/Gradleを使用してnative buildを実行
build完了後、結果のバイナリにアプリの署名credentialで署名する
https://gyazo.com/c2506ad77981c403ee3f361f41778f8c https://blog.expo.dev/expo-managed-workflow-in-2021-d1c9b68aa10
npm hooks
https://docs.expo.dev/build-reference/how-tos/#eas-build-specific-npm-hooks
eas-build-pre-install
executes before EAS Build runs yarn install
例 #??
eas-build-post-install
executes at a slightly different time depending on the platform: for Android, after yarn install has completed; for iOS, after both yarn install and pod install have completed
例 #??
eas-build-pre-upload-artifacts
this hook is triggered almost at the end of the build process, just before the build worker uploads your build artifacts to cloud storage
例 #??
EASで配信するCI
ExpoのGithub Actions
https://github.com/expo/expo-github-action
Next.jsのときみたいに、PR時にpreviewとしてQRコードの発行とかできる
https://docs.expo.dev/build/building-on-ci/#trigger-new-builds
https://zenn.dev/hal1986/articles/20211225-eas-build-and-submit
https://note.com/umotion/n/n457b371c731f
EAS Expoのbuild生成物を共有する
Start Building
Introduction
Creating your first build
Configuration with eas.json
Internal distribution
Automating submissions
Using expo-updates
Triggering builds from CI
App Signing
App credentials explained
Using automatically managed credentials
Using local credentials
Using existing credentials
Syncing credentials between remote and local sources
Reference
Build schema for eas.json
Migrating from "expo build"
Integrating with third-party tooling
Using private npm packages
Environment variables and secrets
Building APKs for Android emulators and devices
Building for iOS simulators
なにこれ?普通にやるのと何が違う?
Troubleshooting build errors and crashes
Running builds on your own infrastructure
Installing app variants on the same device
Caching dependencies
Android build process
iOS build process
Limitations
Configuration process
Server infrastructure
iOS Capabilities