除了 Expo,确实还有其他免费的 React Native 应用构建服务:
- Microsoft App Center
免费额度:
· 每月 240 分钟构建时间
· 1 个并发构建
· 无限应用数量
```bash
通过 CLI 或网页界面构建
appcenter build queue --branch master
```
优点:
· 微软出品,稳定可靠
· 支持 iOS 和 Android
· 集成测试和分发
· 支持环境变量和构建配置
- Bitrise
免费额度:
· 每月 200 分钟构建时间
· 10 个并发构建
· 支持公开仓库无限构建
特点:
· 可视化工作流配置
· 丰富的预置步骤
· 优秀的 iOS 支持
- GitHub Actions
免费额度:
· 公开仓库:无限分钟
· 私有仓库:每月 2000 分钟
```yaml
.github/workflows/build-android.yml
name: Build Android APK
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
-
uses: actions/checkout@v2
-
uses: actions/setup-java@v2
with:
java-version: '11'
-
run: npm install
-
run: cd android && ./gradlew assembleRelease
-
uses: actions/upload-artifact@v2
with:
name: app-release
path: android/app/build/outputs/apk/release/app-release.apk
```
- GitLab CI/CD
免费额度:
· 每月 400 分钟构建时间
· 自托管 runner 无限时间
```yaml
.gitlab-ci.yml
build_android:
image: node:16
before_script:
-
apt update && apt install -y openjdk-11-jdk
-
npm install
script:
- cd android && ./gradlew assembleRelease
artifacts:
paths:
- android/app/build/outputs/apk/release/app-release.apk
```
- CircleCI
免费额度:
· 每月 6000 分钟构建时间
· 1 个并发任务
```yaml
.circleci/config.yml
version: 2.1
jobs:
build-android:
docker:
- image: circleci/android:api-29-node
steps:
-
checkout
-
run: npm install
-
run: cd android && ./gradlew assembleRelease
-
store_artifacts:
path: android/app/build/outputs/apk/release/app-release.apk
```
- BuddyBuild (已并入 App Center)
现在已经是 Microsoft App Center 的一部分,免费方案同上。
- Codemagic
免费额度:
· 每月 500 分钟构建时间
· 1 个并发构建
特点:
· 专门为移动应用设计
· 支持 Flutter 和 React Native
· 简单的 YAML 配置
- Nevercode (已并入 Codemagic)
现在已合并到 Codemagic,提供类似的免费额度。
- AWS Amplify Console
免费额度:
· 每月 1000 分钟构建时间
· 5GB 存储
```yaml
amplify.yml
version: 1
frontend:
phases:
preBuild:
commands:
- npm install
build:
commands:
- cd android && ./gradlew assembleRelease
artifacts:
baseDirectory: android/app/build/outputs/apk/release
files:
- '**/*'
```
- Netlify (通过自定义构建)
虽然主要用于 web,但可以通过自定义构建脚本:
```yaml
netlify.toml
build
command = "npm run build:android"
publish = "android/app/build/outputs/apk/release"
```
比较总结
服务 免费分钟/月 并发构建 特点
GitHub Actions 2000(私有) 20 与 GitHub 深度集成
GitLab CI 400 1 自托管 runner 无限
App Center 240 1 移动应用专门化
Bitrise 200 10 可视化工作流
CircleCI 6000 1 分钟数最多
Codemagic 500 1 移动应用专门化
选择建议
推荐度排序:
-
GitHub Actions - 分钟数充足,集成好
-
GitLab CI - 自托管选项灵活
-
App Center - 专门为移动应用优化
-
CircleCI - 免费分钟数最多
小技巧:
· 多个服务可以组合使用
· 利用公开仓库的无限构建时间
· 设置缓存减少构建时间
· 使用矩阵构建并行测试
这些服务都能满足基本的 React Native 应用构建需求,选择哪个主要看你的代码托管平台和个人偏好。