開発パイプラインに接続

クラウドMacでコードプッシュ後のタスクを受け付ける

ZoneMiniは、仮想マシンではなく常時稼働するクラウドMac専用物理ノードを提供します。コードのプッシュを固定ノードで実行し、テストレポート、アーカイブ、モデル結果、メディア成果物を既存の納品パイプラインへ返します。

リソース形態
1注文につき、選択した専用物理ノード1台
ラインアップ
3構成、販売中のノード5拠点
接続方法
SSH、macOS GUI、CI Runner
BUILD ROUTE 固定ノードで実行
  1. 01
    コードプッシュ リポジトリイベント、スケジュール実行、手動トリガーをキューへ投入
    INPUT
  2. 02
    ビルド実行 依存関係を復元し、テスト、署名、アーカイブ生成を実行
    RUN
  3. 03
    成果物の納品 IPA、ログ、レポート、モデル指標、メディアファイルを返却
    OUTPUT
固定クラウドMacノードで開発パイプラインに接続 リポジトリのトリガーをタスクキューへ接続し、タスクを専用Macノードで実行。その後、成果物ストレージとログシステムへ結果を納品します。
iOS自動ビルド

リポジトリのトリガーからIPAチェックまでを、再現可能な6段階に分ける

安定したiOSクラウドビルドは、Archiveコマンドだけでは完成しません。固定ツールチェーン、管理されたキャッシュ、制限付き署名権限、明確な成果物チェックが必要です。各段階で追跡可能なログを残せば、失敗原因が依存関係、コンパイル、署名、エクスポートのどこにあるか判断できます。

  1. 01

    リポジトリトリガーを受信

    メインブランチへのマージ、リリースタグ、手動タスクでビルドを開始します。ブランチ名、コミットハッシュ、バージョン、ビルド番号をタスクコンテキストに記録し、成果物とソースの対応を明確にします。

  2. 02

    固定依存関係を復元

    ロックファイルに従ってSwift Package、CocoaPods、JavaScript依存関係をインストールします。キャッシュはプロジェクト、ツールバージョン、ロックファイルの要約ごとに分離し、異なるブランチで誤った依存関係を共有しないようにします。

  3. 03

    署名権限を有効化

    必要な証明書とプロビジョニングプロファイルはビルド段階のみで解除し、Runnerの読み取り範囲を制限します。タスク終了後は一時アクセスを閉じ、秘密鍵、トークン、完全なパスワードをログに記録しません。

  4. 04

    テストとアーカイブを実行

    静的チェックと単体テストを先に実行し、その後Xcode Archiveを呼び出します。テスト失敗時は署名を直ちに停止し、テスト結果、コンパイラ出力、失敗ケースを保存します。

  5. 05

    IPAをエクスポート

    バージョン管理されたエクスポート設定でIPAを生成し、dSYM、アーカイブ、エクスポートログも保存します。最終インストールパッケージだけを残すと、クラッシュ解析とバージョン追跡に必要な情報が不足します。

  6. 06

    アップロード前チェックを実行

    Bundle ID、バージョン、ビルド番号、署名結果、プライバシーマニフェスト、パッケージの変更を確認します。チェック完了後に成果物をアップロードまたはリリース承認へ渡します。

タスク規模で構成を選ぶ

3つのラインアップで3種類のビルド負荷に対応

ピークメモリ、同時実行数、1タスクの所要時間を確認してからマシンを選びます。プロジェクト名だけで判断せず、ディスクキャッシュの増加を計算需要と混同しないでください。

ZoneMini M4 Core M4 · 16GB · 256GB

単一プロジェクトの軽量ビルド、単体テスト、低並列アーカイブに適しています。依存キャッシュは定期的に整理し、作業ディレクトリがローカルストレージを占有し続けないようにします。

ZoneMini M4 Coreをレンタル
ZoneMini M4 Plus M4 · 24GB · 512GB

日常開発、複数ブランチのパイプライン、React NativeまたはFlutterのネイティブビルド、より多くの依存キャッシュを保持したいチームに適しています。

ZoneMini M4 Plusをレンタル
ZoneMini M4 Pro M4 Pro · 64GB · 2TB

高負荷の並列ビルド、大規模モデル推論、大容量メディア処理、長時間のバッチ処理に適しています。メモリ負荷の高いタスクは、まずこのプランで検証してください。

ZoneMini M4 Proをレンタル
ビルドファームとCI/CD

複数の固定Runnerを共有ワークステーションではなく、スケジュール可能なリソースとして運用する

ビルドファームの要点は、すべてのタスクを任意のマシンへ送ることではなく、ノードごとに安定した役割を定義することです。タグ、キュー、キャッシュ境界、ログ保存、リージョン割り当てを同時に設計することで、失敗を特定し容量を判断できます。

RUNNER ASSIGNMENT タグでタスクの行き先を決める
ios-light プッシュ検証と単体テスト 短いタスクを優先し、並列数を制限。失敗時はキューを直ちに解放
ios-release 署名アーカイブとリリース候補パッケージ 固定ツールチェーンと権限境界を設定し、エクスポート記録を完全保存
cross-platform React NativeとFlutter JavaScript、CocoaPods、ネイティブコンパイルのキャッシュを分離
high-memory モデル推論と大規模並列タスク ZoneMini M4 Proに割り当て、ピークメモリと出力ディレクトリを記録

キューを所要時間と権限で分ける

プッシュ検証、リリースアーカイブ、高メモリタスクを1つの一律キューで処理しないでください。長時間タスクには専用タグを設定し、短いテストが長時間待たされるのを防ぎます。

キャッシュをプロジェクトとバージョンで分離

依存キャッシュキーには少なくともプロジェクト、ブランチ戦略、ツールバージョン、ロックファイルの要約を含めます。キャッシュのヒット異常時は、ノード全体ではなく対象プロジェクトだけを削除できるようにします。

失敗ログを一元保存

コミット識別子、Runnerタグ、Xcodeバージョン、依存関係の要約、失敗段階、匿名化済みログを保存します。ログには保存期間を設定し、アクセストークンを含めません。

リポジトリとチームに近いノードを選ぶ

シンガポール、日本(東京)、韓国(ソウル)、香港、米国東部でノードを提供しています。コードリポジトリの場所、チームのタイムゾーン、成果物の納品先を優先して選択してください。

クロスプラットフォームプロジェクト

React NativeとFlutterのボトルネックは、多くの場合ネイティブ層にある

JavaScriptやDartの開発は複数の環境で行えますが、iOS依存関係の解決、シミュレーターのテスト、署名、アーカイブにはmacOSとXcodeが必要です。固定クラウドMacなら、これらを個人PCからチームのパイプラインへ移行できます。

React Native

JavaScriptとネイティブ依存関係を分けて管理

  • 依存関係の復元:ロックファイルに従ってNode.jsパッケージをインストールし、iOSディレクトリでCocoaPods依存関係を復元します。
  • キャッシュの境界:パッケージマネージャー、Pods、DerivedDataのキャッシュキーを分け、作業ディレクトリ全体をキャッシュしません。
  • テストの順序:まず型チェックとJavaScriptテストを実行し、その後ネイティブ単体テストまたはシミュレーター検証を行います。
  • 署名付きビルド:リリースブランチで固定Schemeを呼び出し、Archive、IPA、dSYM、エクスポートログを生成します。
  • 複数ブランチ戦略:機能ブランチでは検証のみ行い、署名権限は候補ブランチだけに付与して、プッシュごとのリリースパッケージ生成を避けます。
Flutter

Dart段階とXcode段階を分けて記録

  • 環境の確認:Flutter、Dart、CocoaPods、Xcodeのバージョンを固定し、タスク開始時にバージョン概要を出力します。
  • ネイティブ依存関係:iOSプラグインの依存関係を復元し、追加のシステム権限や最低デプロイメントバージョンが必要か確認します。
  • シミュレーターテスト:コンポーネントテストとiOSシミュレーターテストを分け、失敗時はテストレポートとスクリーンショットを保存します。
  • 署名アーカイブ:管理された設定でiOS Archiveを生成し、エクスポートオプションと署名結果を確認します。
  • ブランチ分離:安定版ブランチと実験ブランチで異なる作業ディレクトリを使い、ビルド成果物とキャッシュの上書きを防ぎます。
CHECK 01 ロックファイルはプッシュとともに更新されているか

依存関係の宣言が変わったのにロックファイルが更新されていないと、ローカルでは成功しCIでは失敗する問題を再現しにくくなります。

CHECK 02 ネイティブモジュールに新しいツールチェーンが必要か

プラグインを更新する前にXcode、デプロイメントターゲット、CocoaPodsの条件を確認し、固定ノードを更新します。

CHECK 03 キャッシュを安全に無効化できるか

すべてのキャッシュは削除後に再構築できる状態にし、キャッシュを唯一の依存関係の供給元にしないでください。

Apple Siliconでの推論

高メモリノードで継続的なモデル実験を実行する

クラウドMacでは、固定されたApple Silicon環境にモデル準備、推論実行、指標記録、結果出力を集約できます。トレーニング基盤の代替ではなく、ローカル推論経路の検証、実験の一括実行、macOS対象環境でのリソース状況の確認に適しています。

高メモリ構成を推奨

ZoneMini M4 Pro

M4 Pro · 64GB · 2TB

01 モデルと検証ファイルを準備

モデルのバージョン、入手元、ファイルハッシュ、量子化方式、実行スクリプトのバージョンを記録します。大容量ファイルは完全性を確認してから実験ディレクトリへ移します。

02 実行環境を分離

実験ごとに独立した環境を作成し、Pythonパッケージとネイティブ依存関係を固定します。一度検証した基準環境を一時的な更新で変更しないでください。

03 バッチ推論を実行

バッチサイズ、入力長、並列数を段階的に増やし、ピークメモリ、実行時間、失敗サンプル、リトライ回数を記録します。

04 指標と結果をエクスポート

パラメーター、環境概要、出力ファイル、匿名化済みログをまとめて出力します。最終平均値だけでなく、異常サンプルも追跡できるようにします。

ZoneMini M4 Proを選ぶ
音声・動画のバッチ処理

長時間のトランスコードは固定ノードで行い、成果物をアーカイブシステムへ戻す

音声・動画タスクでは、プロセッサ、メモリ、ディスクを同時に使用することが一般的です。入力同期、一時処理、品質チェック、最終返却を分け、クラウドMacの作業ディスクを長期素材保管庫にしない運用が適しています。

入力リスト1件

素材を同期してハッシュを確認

タスクリストに従ってソースファイル、字幕、音声トラック、処理パラメーターを同期します。転送後にファイルサイズまたはハッシュを確認し、不完全な素材で長時間処理を開始しないようにします。

入力
ソース動画、音声トラック、字幕、パラメータ表
記録
ファイルハッシュ、エンコード要件、出力名
バッチタスクN件

トランスコードしてプロキシファイルを生成

解像度、エンコード形式、プロジェクトのバッチ単位でタスクを分割します。波形、プロキシ、サムネイルが必要な場合は、生成パラメーターを同じタスク記録に保存します。

処理
一括トランスコード、波形、プロキシ、サムネイル
分離
バッチごとの一時ディレクトリと失敗リスト
品質チェック2ラウンド

自動チェック後に人手で抜き取り確認

まず再生時間、解像度、音声トラック数、出力ファイルの完全性を確認し、重要な区間を人手で抜き取り確認します。失敗ファイルは該当バッチだけ再実行します。

自動
再生時間、サイズ、音声トラック、ファイル完全性
人手
映像、音声、字幕、重要区間
納品ディレクトリ1件

成果物を返却して一時ディスクを整理

成果物、処理ログ、失敗リストをチーム指定のストレージへ返却します。返却完了を確認して一時ファイルを削除し、ローカルディスクの長期的な圧迫を防ぎます。

成果物
完成ファイル、ログ、失敗タスク一覧
境界
作業ディスクを長期アーカイブに使用しない
公開前の準備

提出前チェックをパイプラインのゲートにする

アーカイブに成功しても、提出条件を満たしたとは限りません。バージョン情報、署名、プライバシーマニフェスト、アーカイブ検証、スクリーンショット、リリースノートを納品前に一つずつ確認します。ZoneMiniは実行環境を提供しますが、アプリ配信プラットフォームの審査基準に代わるものではありません。

RELEASE GATE

6項目すべてに合格してから候補パッケージを納品

候補ビルドごとに、チェック結果、コミットハッシュ、バージョン、ビルド番号を保存します。問題が見つかった場合は該当段階に戻り、最終提出前に未記録の設定を一時変更しないでください。

  1. 01
    バージョンとビルド番号

    リリースブランチ、変更履歴、候補パッケージとの一致を確認し、ビルド番号の重複がないことを確認します。

  2. 02
    署名とプロビジョニングプロファイル

    Bundle ID、署名ID、権限宣言、エクスポート方式が目的に合っていることを確認します。

  3. 03
    プライバシーマニフェスト

    アプリと依存関係に含まれるプライバシー宣言を確認し、新しいSDKがチェック対象に含まれていることを確認します。

  4. 04
    アーカイブ検証

    検証出力を保存し、シンボル不足、権限不一致、サポート対象外のビルド設定に対応します。

  5. 05
    スクリーンショットとメタデータ

    対象デバイス、言語、バージョンに合わせてスクリーンショット、説明、更新内容を準備し、ファイル名を確認します。

  6. 06
    提出前回帰テスト

    候補パッケージで、起動、ログイン、主要フロー、ネットワーク障害、アップグレードの各シナリオを確認します。

実行環境と審査基準を分けて管理

クラウドMacはビルド、検証、成果物整理を継続実行できますが、アプリ内容、メタデータ、コンプライアンス要件、最終審査結果は各プラットフォームのルールによって決まります。チーム独自のリリース承認者とロールバック手順も用意してください。

ワークフロー構成の提案

キュー、権限、コラボレーション範囲でノードを組み合わせる

ノード数はチーム人数だけで決めるべきではありません。同時実行タスク数、独立した署名境界の必要性、キャッシュ共有の可否、メンバーとリポジトリの分布を確認してから、単一ノードか複数ノードかを決めます。

継続ノード1台

個人開発者

1つの固定環境で日常開発、テスト、候補パッケージのアーカイブを行います。依存関係のバージョン、署名手順、整理スクリプトをリポジトリに保存し、ローカルPCとリモート環境の差を減らします。

  • 軽量な単一プロジェクトならZoneMini M4 Coreから開始
  • クロスプラットフォームプロジェクトやキャッシュが多い場合はZoneMini M4 Plusを優先
  • アーカイブ、ログ、保管が必要なプロジェクト資料を定期的にエクスポート
タスクキュー2種類

CIチーム

少なくともプッシュ検証とリリースアーカイブを分けます。タスク量の増加に応じてタグでノードを追加し、署名権限を持つRunnerに通常テストを集中させないようにします。

  • 短いテストキューを優先し、長時間アーカイブは専用キューへ
  • ノードキャッシュをプロジェクトごとに分離し、失敗ログを一元保存
  • 高メモリまたは並列タスクをZoneMini M4 Proに割り当てる
選べるノード5拠点

分散チーム

シンガポール、日本(東京)、韓国(ソウル)、香港、米国東部から、コードリポジトリ、主要メンバー、納品経路に近い場所を選びます。メンバーの所在地だけで均等配分しないでください。

  • リポジトリとのやり取りが多い場合は、リポジトリの地域に近い場所を優先
  • GUIでの共同作業が多い場合は、主な利用メンバーの場所も考慮
  • 複数ノードで同じツールチェーン一覧とログ形式を使用
まず確認 タスク種別とピーク並列数

ビルド、テスト、推論、メディアタスクが同時に実行されるかを洗い出します。

次に確認 メモリ、ストレージ、所要時間

実際のピーク値に基づき、3つのラインアップから構成を選びます。プロジェクト名だけで推測しません。

最後に確認 ノード、期間、支払い方法

すべての注文はUSDで決済され、USDT-TRC20とVisa / Mastercard / Amex(Stripe経由)のみ利用できます。

注文前の準備

タスク規模に合わせてノードと構成を選ぶ

用途、同時実行タスク数、希望ノード、レンタル期間、ストレージ要件を準備します。接続方法を確認する場合はリモートアクセスガイドをご覧ください。構成の相談はチームまでお問い合わせください。