RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/開発ツール
開発ツール/2026-03-14上級

Rork アプリを EAS で CI/CD 化する — Build・OTA 配信・GitHub Actions 連携の実装と運用メモ

6本のアプリを並行運用する個人開発の現場で、Rork(Expo)アプリのビルドと配信を EAS に移行した手順をまとめました。EAS Build・EAS Update・GitHub Actions 連携に加え、無料プランの制限と付き合うコツもお伝えします。

Rork515EAS6Expo149CI/CD8OTA6GitHub Actions5

プレミアム記事

取り組みの背景 — 6本のアプリのリリース作業が回らなくなった日

2026年に入ってからの私は、壁紙系を中心とした6本のアプリの v2.0.0 / v2.1.0 アップデートを並行して進めていました。1本ずつ Xcode でアーカイブして App Store Connect にアップロードし、Android 側では AAB を書き出して Play Console に上げる。この手作業を6本分繰り返すと、検証も含めてほぼ2日が消えます。リリース後に小さな不具合が見つかれば、また同じ工程のやり直しです。

ビルドと配信は機械に任せて、人間は中身に集中するべきだ——2014年から個人開発を続けてきて、これほど痛感したことはありません。その答えとして導入したのが Expo Application Services(EAS)でした。クラウド上で iOS / Android のビルドを行い、OTA(Over-The-Air)配信や CI/CD 連携までを一つのサービスで担ってくれます。手元に Mac がなくても iOS アプリをビルドできる点も、環境構築でつまずきがちな個人開発者には大きな助けになります。

はじめに一つ整理しておきます。2026年2月以降、Rork は Expo(React Native)ベースで iOS / Android 両対応アプリを生成する製品、Rork Max はネイティブ Swift アプリを生成する別製品という棲み分けになりました。Rork Max はクラウド Mac でコンパイルする独自の仕組みを持つため EAS を使いません。本記事で扱う EAS の対象は、Rork が出力する Expo(React Native)プロジェクトです。公式の製品ページだけでは混同しやすい部分なので、最初に押さえておいていただければと思います。

ここからは、私が6本のアプリ運用で実際に組んだ構成をベースに、セットアップから本番運用までを順に追っていきます。


EAS セットアップ — CLI の導入から eas.json まで

ステップ 1:EAS CLI のインストール

npm install -g eas-cli

バージョン確認:

eas --version

ステップ 2:Expo アカウントへのログイン

eas login

プロンプトに従ってブラウザで Expo アカウントにログインします。既存アカウントがない場合は、expo.dev から無料会員登録してください。

ℹ️
**ヒント**: Rork プロジェクトが複数ある場合、各プロジェクトで同じアカウントを使用するか、あるいは環境変数 `EXPO_TOKEN` に API トークンを設定して、CI/CD 環境での自動認証を可能にします。

ステップ 3:EAS ビルド設定の初期化

eas build:configure

このコマンドを実行すると、プロジェクトルートに eas.json ファイルが作成されます。以下は典型的な設定例です。

eas.json の詳細設定例

{
  "cli": {
    "version": ">= 5.0.0"
  },
  "build": {
    "development": {
      "distribution": "internal",
      "ios": {
        "buildType": "development"
      },
      "android": {
        "buildType": "development"
      }
    },
    "preview": {
      "distribution": "internal",
      "ios": {
        "buildType": "ad-hoc",
        "provisioning": {
          "teamId": "YOUR_APPLE_TEAM_ID"
        }
      },
      "android": {
        "buildType": "apk"
      }
    },
    "production": {
      "distribution": "store",
      "ios": {
        "buildType": "app-store",
        "provisioning": {
          "teamId": "YOUR_APPLE_TEAM_ID"
        }
      },
      "android": {
        "buildType": "aab"
      }
    }
  },
  "submit": {
    "production": {
      "ios": {
        "appleId": "your-email@example.com",
        "ascAppId": "1234567890",
        "appleTeamId": "YOUR_APPLE_TEAM_ID"
      },
      "android": {
        "serviceAccount": "path/to/service-account.json",
        "track": "production"
      }
    }
  }
}

各プロファイルの説明

  • development: ローカル開発用。内部配布のみ
  • preview: QA チーム向けテストビルド。ストア申請なしで TestFlight(iOS)または Google Play Internal Testing(Android)経由で配布可能
  • production: App Store / Google Play へ本番リリースするビルド。AAB(Android App Bundle)と App Store 用 iOS ビルドを生成

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
6本のアプリを並行運用する個人開発の実例に基づいた、EAS Build / EAS Update / GitHub Actions の具体的な設定ファイルと手順
無料プランの月30ビルド枠とキュー待ち時間を踏まえた、有料プランへ移行する損益分岐の考え方
JavaScript のみの不具合を OTA 配信で当日修正した実例と、安全なロールバック設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-03-21
Rork × GitHub Actions で CI/CD を構築する — EAS Build 自動化からテストフライト配布まで
Rork で作ったアプリに GitHub Actions と EAS Build を使った CI/CD パイプラインを構築する方法を解説。プルリクエストごとの自動テスト、ビルド自動化、TestFlight への自動配布までを実践的にカバーします。
開発ツール2026-06-28
EAS Update を少人数から配り、クラッシュ率で自動的に止める
OTA 更新は一瞬で全員に届くからこそ、悪い更新も一瞬で全員に届きます。EAS Update を少人数(カナリア)から配り、クラッシュ率を見て広げるか止めるかを自動で判断し、最後は端末側で安全網を張る設計を、動くコードでまとめます。
開発ツール2026-06-24
EAS Update を入れたのに『直したはずのバグ』が消えないとき — OTA が静かに届かない原因と運用メモ
EAS Update を導入しても OTA が一部のユーザーに届かないことがあります。runtimeVersion のドリフト、配信したのに採用されない更新、安全なロールバックの選び方を、Rork アプリの運用で実際に効いた計装とともに整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →