Habilidade EAS Release
Etapas de build, envio e OTA com salvaguardas - uma Habilidade de Agente estilo cookbook para enviar binários e atualizações do Expo SDK 57 sem automação insegura.
Busque em todas as páginas da documentação
Etapas de build, envio e OTA com salvaguardas - uma Habilidade de Agente estilo cookbook para enviar binários e atualizações do Expo SDK 57 sem automação insegura.
Produz um plano de release executável: seleção de perfil eas.json, comandos de build na nuvem, etapas de envio para a loja e eas update opcional - cada um protegido por runtimeVersion, credenciais e classificação de alteração.
eas.json--auto-submit ou envio não interativo de CIrelease/*| Entrada | Por quê |
|---|---|
eas.json | Perfis, env, destinos de envio |
app.config.ts | version, runtimeVersion, IDs de bundle |
| Lista de alterações | Apenas JS vs. nativas (módulos, permissões, plugins) |
| Canal/branch de destino | production, preview, etc. |
Último updateId conhecido como bom | Âncora de rollback para o caminho OTA |
| Escopo da plataforma | ios, android, all |
--non-interactiveeas build:list, eas submit, eas channel:view, npx expo-doctoreas build. Novo módulo expo-*, permissão, plugin de configuração ou edição de expo-build-properties nunca é apenas OTA.runtimeVersion deve corresponder aos binários ativos da loja para OTA - veja Política de Runtime Version..env commitados (Build Profiles & Flavors).npx expo-doctor após qualquer alteração de dependência ou plugin gerada pela habilidade.Cartão de receita de referência rápida - pronto para copiar e colar.
# 1. Classificar alteração
npx expo-doctor
git diff --name-only HEAD~1 # verificar package.json, app.config.ts, plugins/
# 2. Build na nuvem (formato de loja)
eas build --profile production --platform all --non-interactive
# 3. Enviar artefatos mais recentes
eas submit --platform ios --latest --non-interactive
eas submit --platform android --latest --non-interactive
# 4. Hotfix apenas JS (mesmo runtimeVersion)
eas update --channel production --message "fix: checkout validation copy"
# 5. Verificar
eas channel:view production
eas build:list --limit 3// eas.json (excerto - SDK 57)
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal",
"channel": "preview"
},
"production": {
"channel": "production",
"autoIncrement": true
}
},
"submit": {
"production": {
"ios": { "ascAppId": "1234567890" },
"android": {
"serviceAccountKeyPath": "./secrets/play-service-account.json",
"track": "internal"
}
}
}
}Quando usar esta habilidade:
npx expo-doctor| Sinal | Caminho |
|---|---|
Apenas .tsx, hooks, cópia | Candidato a OTA |
package.json novo expo-camera | Build necessário |
app.config.ts plugin adicionado | Build necessário |
| Hermes / bump de versão RN | Build necessário + revisão de runtimeVersion |
eas build --profile production --platform all
# Um tiro para CI:
eas build --profile production --platform ios --auto-submit --non-interactivedevelopmentClient: true → cliente de desenvolvimento, não loja - EAS Build Basicseas submit --platform ios --latest
eas submit --platform android --latesttrack: "internal" em eas.json - promova no Play Console depoiseas update --channel production --message "fix: cart total rounding"
eas channel:view productionupdateId publicado no ticket de release - Rollback Runbooknpx expo-doctor
eas build:list --limit 1
eas update:list --branch production --limit 3Invoke EAS Release skill. SDK 57.
Change: fixed typo in Settings screen - no package.json diff.
Give OTA commands for production channel. Include rollback note with last good updateId f7a2.Invoke EAS Release skill.
Added expo-notifications + config plugin in app.config.ts.
Produce full build + submit checklist for ios and android production profiles.
Flag anything that blocks OTA.Invoke EAS Release skill for CI.
Need non-interactive eas build --auto-submit on merge to release/2.4.
List required EAS secrets and eas.json submit block only. ┌─────────────────┐
│ Alteração chegou │
└────────┬────────┘
│
┌────────▼────────┐
│ expo-doctor OK? │──não──► corrigir config/deps primeiro
└────────┬────────┘
│ sim
┌────────▼────────────────┐
│ Alteração impacta nativo? │
└────────┬────────────────┘
sim │ │ não
┌──────────────┘ └──────────────┐
▼ ▼
eas build + submit runtimeVersion
(novo binário) corresponde à loja?
│
sim ──► eas update
não ──► eas build (aumentar runtimeVersion)Tecnicamente sim via track: "production" - salvaguarda: padrão para internal até que o QA aprove. A habilidade deve avisar quando o track de produção for solicitado.
Não - ele carrega o binário. A distribuição do TestFlight e a Revisão do App ainda são etapas do console, a menos que seu fluxo de trabalho promova separadamente.
Pare. A saída da habilidade não deve incluir submit/OTA até que o doctor passe. Corrija a discrepância com npx expo install --fix conforme SDK Upgrade Skill.
Versões da Stack: Esta página foi escrita para React 19.2.3, React Native 0.86.0, e Expo SDK 57 (
expo~57.0.4).
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026