mcpField
E
expo-deployment

expo-deployment

github.com/midudev云与 DevOps7.0k58 次安装1 周前更新
代码仓库

关于 expo-deployment

expo-deployment 是面向 Expo 应用开发者的 EAS 部署指南,介绍 iOS、Android 和 Web 的构建、商店提交及托管流程,并涉及自动化发布与版本管理。

主要功能

  1. 01构建 iOS 和 Android 应用
  2. 02提交应用至应用商店
  3. 03通过 EAS Hosting 部署 Web
  4. 04使用 EAS Workflows 自动发布
  5. 05管理版本并查看构建状态

适用场景

  1. 01准备 iOS 应用商店构建
  2. 02提交 Android 版本至 Google Play
  3. 03为 PR 创建 Web 预览部署
  4. 04配置推送触发的持续发布

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/midudev/autoskills --skill expo-deployment

安装后在 Claude Code 中输入/expo-deployment确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
app-store-metadata.md
ios-app-store.md
play-store.md
testflight.md
workflows.md

详细介绍

部署

本技能涵盖使用 EAS(Expo Application Services)跨所有平台部署 Expo 应用。

参考资料

按需查阅以下资源:

  • ./references/workflows.md -- 自动部署和 PR 预览的 CI/CD 工作流
  • ./references/testflight.md -- 将 iOS 构建提交到 TestFlight 以进行 Beta 测试
  • ./references/app-store-metadata.md -- 管理 App Store 元数据并优化 ASO
  • ./references/play-store.md -- 将 Android 构建提交到 Google Play Store
  • ./references/ios-app-store.md -- iOS App Store 提交和审核流程

快速开始

安装 EAS CLI
npm install -g eas-cli
eas login
初始化 EAS
npx eas-cli@latest init

这会创建包含构建配置的 eas.json。

构建命令

生产构建
# iOS App Store build
npx eas-cli@latest build -p ios --profile production

# Android Play Store build
npx eas-cli@latest build -p android --profile production

# Both platforms
npx eas-cli@latest build --profile production
提交到应用商店
# iOS: Build and submit to App Store Connect
npx eas-cli@latest build -p ios --profile production --submit

# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --submit

# Shortcut for iOS TestFlight
npx testflight

Web 部署

使用 EAS Hosting 部署 Web 应用:

# Deploy to production
npx expo export -p web
npx eas-cli@latest deploy --prod

# Deploy PR preview
npx eas-cli@latest deploy

EAS 配置

用于生产部署的标准 eas.json:

{
  "cli": {
    "version": ">= 16.0.1",
    "appVersionSource": "remote"
  },
  "build": {
    "production": {
      "autoIncrement": true,
      "ios": {
        "resourceClass": "m-medium"
      }
    },
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    }
  },
  "submit": {
    "production": {
      "ios": {
        "appleId": "[email protected]",
        "ascAppId": "1234567890"
      },
      "android": {
        "serviceAccountKeyPath": "./google-service-account.json",
        "track": "internal"
      }
    }
  }
}

平台专属指南

iOS
  • 使用 npx testflight 快速提交到 TestFlight
  • 通过 eas credentials 配置 Apple 凭证
  • 查看 ./reference/testflight.md 了解凭证设置
  • 查看 ./reference/ios-app-store.md 了解 App Store 提交流程
Android
  • 设置 Google Play Console 服务账号
  • 配置发布轨道:internal → closed → open → production
  • 查看 ./reference/play-store.md 了解详细设置
Web
  • EAS Hosting 为 PR 提供预览 URL
  • 生产版本部署到你的自定义域名
  • 查看 ./reference/workflows.md 了解 CI/CD 自动化

自动部署

使用 EAS Workflows 进行 CI/CD:

# .eas/workflows/release.yml
name: Release

on:
  push:
    branches: [main]

jobs:
  build-ios:
    type: build
    params:
      platform: ios
      profile: production

  submit-ios:
    type: submit
    needs: [build-ios]
    params:
      platform: ios
      profile: production

查看 ./reference/workflows.md 获取更多工作流示例。

版本管理

当使用 appVersionSource: "remote" 时,EAS 会自动管理版本号:

# Check current versions
eas build:version:get

# Manually set version
eas build:version:set -p ios --build-number 42

监控

# List recent builds
eas build:list

# Check build status
eas build:view

# View submission status
eas submit:list

评论

支持 Markdown