2.5 KiB
2.5 KiB
App Expo 部署文档
app-expo 前端应用的 CI/CD 部署说明,基于 GitHub Actions,无 EAS 依赖。
概述
统一部署 Pipeline 支持三个环境:
| 环境 | 触发源 | 用途 |
|---|---|---|
| dev | main 分支 |
开发 + 内部测试 |
| stage | staging 分支 |
预发布 |
| prod | v*.*.* 标签 |
正式发布 |
环境映射
环境由触发源自动推断,无需额外配置:
main → dev
staging → stage
v*.*.* → prod
触发条件
- Push:推送至
main/staging或v*.*.*标签 - 路径过滤:仅当
app-expo/或.github/workflows/app-expo-deploy.yml有变更时触发 - 手动触发:
workflow_dispatch可选择 dev / stage / prod
使用方式
Dev(开发 + 内部测试)
git push origin main
合并后自动执行:质量检查、构建、上传 artifact(保留 14 天)。
Stage(预发布)
git push origin staging
若没有 staging 分支,可先创建:
git checkout -b staging
git push -u origin staging
构建产物保留 30 天。
Prod(正式发布)
git tag v1.0.0
git push origin v1.0.0
将自动:构建、打包 zip、创建 GitHub Release、上传 artifact(保留 90 天)。
手动触发
- 打开仓库 Actions 标签
- 选择 App Expo Deploy
- 点击 Run workflow
- 选择环境(dev / stage / prod)
- 若选 prod,可填写版本号(如
1.0.0)
版本规则(SemVer)
| 类型 | 示例 | 说明 |
|---|---|---|
| PATCH | v1.0.0 → v1.0.1 | bug 修复、小改动 |
| MINOR | v1.0.0 → v1.1.0 | 新功能、向后兼容 |
| MAJOR | v1.0.0 → v2.0.0 | 重大变更、不兼容 |
各环境行为
| 步骤 | dev | stage | prod |
|---|---|---|---|
| 质量检查(format/lint/test) | ✓ | - | - |
| Web 构建 | ✓ | ✓ | ✓ |
| 上传 artifact | ✓ (14 天) | ✓ (30 天) | ✓ (90 天) |
| 创建 GitHub Release | - | - | ✓ |
GitHub Environments
在 Settings → Environments 中可配置 dev、staging、production:
- 为各环境配置独立 secrets
- 为 production 配置审批规则
- 环境与 workflow 自动关联
产物说明
- dev / stage:
app-expo/dist目录(静态 Web 构建) - prod:
app-expo-v{version}-web.zip,附带于 GitHub Release
相关文件
- 工作流:
.github/workflows/app-expo-deploy.yml - 应用配置:
app-expo/app.config.ts