まずはタスクを確認

4つのチーム、4つのワークフロー

必要なのは、別のCIプラットフォームではなく、オフィスに置かずに使えるMacかもしれません。macOSが必要な工程は専有物理ノードに任せ、コードや実行ルール、成果物の基準はそのまま自分で管理できます。

以下は代表的なワークフローの例であり、顧客の声や実測性能を示すものではありません。おすすめの構成と、選ばないほうがよいケースも紹介します。

物理Mac miniを1台まるごと1人のお客様が利用できます。仮想マシンではなく、データセンターのノードは365日稼働します。

次のリリースから逆算

何を入力し、どこで実行し、何を納品するか

最も近いタスクを見つけたら、カード末尾の利用上の注意点も確認しましょう。専有ノードなら他のお客様とのマシンリソースの競合はありませんが、自分のパイプライン内のキュー、署名エラー、依存関係の競合まで自動で解消されるわけではありません。

活用例 · 個人開発者

WindowsでFlutter開発、リモートでipaを作成

手元のPCはWindowsで、ビルドは必要なときだけ。ビルドサーバーを終日使う必要はありません。

Port M4 Base · 日単位

Apple Silicon M4 · 16GBユニファイドメモリ · 256GB SSD

東京ノード · $19.7/日

  1. コードをプッシュ

    Windowsで開発し、確定したコミットをリポジトリにプッシュします。依存関係のロックファイルも一緒にコミットすれば、リモート環境で別の依存関係が解決されるのを防げます。

  2. アーカイブを作成

    東京ノードでコードを取得し、必要な依存関係をインストールして、 flutter build ipaを実行します。署名証明書、プロビジョニングプロファイル、アクセス権はご自身で設定してください。

  3. 配信用にアップロード

    バージョン番号とビルド番号を確認したら、 fastlane pilot でTestFlightにアップロードします。ipa、ログ、対応するコミットIDは、ご自身の成果物ストレージに保存してください。

おすすめしないケース

月に1〜2回しかビルドせず、使っていないMacがあるなら、自前で運用するほうが安く済む場合があります。複数のシミュレーターや負荷の高いタスクを同時に動かす場合も、16GBプランから始めるのはおすすめしません。

前提:TestFlight配信に必要な有効な開発者資格、署名関連ファイル、App Store Connect API Keyはご自身でご用意ください。リモートノードを使っても、これらは不要になりません。

Port M4 Baseを試す
活用例 · 12人のCIチーム

マージ時にビルド、夜間にUIテストをまとめて実行

毎日何度もマージするチームに。依存関係のキャッシュを維持しながら、オフィスの電源、ネットワーク、冷却の問題にも悩まされません。

Port M4 Plus · 月単位

Apple Silicon M4 · 24GBユニファイドメモリ · 512GB SSD

シンガポールノード · $201.6/月

  1. ランナーを登録

    シンガポールノードにGitHub Actions self-hosted runnerをインストールし、ラベルでmacOSジョブを割り当てます。実行を許可するリポジトリとブランチも制限してください。

  2. 優先度を分ける

    main のマージ時にビルドと基本チェックを実行し、リリースブランチには専用ジョブを設定します。nightly には時間のかかるシミュレーターUIテストを割り当てます。

  3. 作業ディレクトリを分ける

    ブランチやジョブごとに作業ディレクトリとDerivedDataを分けます。メモリ使用量のピーク、ディスク使用量の増加、待ち時間を記録し、並列数を増やすかノードを追加するか判断しましょう。

おすすめしないケース

大量のジョブを同時に起動し、完了後すぐにリソースを解放する必要があるなら、共有型のオンデマンドサービスのほうが柔軟です。12人という人数は利用例の背景であり、1台で12件のビルドを同時に実行できることを意味しません。

リージョンはチームの所在地だけでなく、リポジトリの取得、依存関係のダウンロード、成果物のアップロード経路を基準に比較しましょう。異なるリージョン間で連携する場合も、まずはご自身のプロジェクトで試してください。

Port M4 Plusを借りてCIに接続
活用例 · AI実験

モデル推論と量子化評価を同じ環境で

ソフトウェアのバージョンを固定し、モデル、量子化方式、プロンプトセットを繰り返し比較。実験のたびに環境を作り直す必要はありません。

Port M4 Pro · まずは日単位で検証

Apple Silicon M4 Pro · 64GBユニファイドメモリ · 2TB SSD

米国西部ノード · $61.4/日

  1. 互換性を確認

    推論フレームワークがApple Siliconと必要な演算子に対応しているか確認します。モデルの重み、コンテキスト長、ランタイムのオーバーヘッドからメモリ使用量を見積もり、モデルファイルのサイズだけで判断しないでください。

  2. 評価用の入力を固定

    利用許諾のあるモデルをダウンロードし、バージョン、量子化パラメーター、プロンプトセットを記録します。毎回同じ入力を使い、初回ロードとその後の推論にかかる時間を分けて計測しましょう。

  3. 実験結果を保存

    スループット、メモリ使用量のピーク、品質評価の結果を出力し、ご自身のストレージに保存します。モデルが動作することを確認してから、環境を月単位で維持するか判断してください。

おすすめしないケース

マルチGPU学習が必要な場合、特定のCUDA演算子に依存する場合、またはモデルの実行に必要なメモリが予算を超える場合、Mac miniは適していません。ユニファイドメモリ64GBでも、すべてのモデルが動くとは限りません。

これは計算ワークフローの例であり、特定のモデルの速度や精度を保証するものではありません。試す際はメモリ使用量、初回ロード、連続推論を測定し、単発の結果だけで判断しないようにしましょう。

Port M4 Proを借りてモデルを検証
活用例 · 音声・動画ワークフロー

一括トランスコードと書き出し、バッチごとに成果物を確認

主にオフライン処理を行う場合に。素材、作業用ファイル、書き出しキューを安定して保存でき、リモートでのリアルタイム編集を重視しないワークフローに適しています。

Port M4 Pro · 必要な期間だけ利用

Apple Silicon M4 Pro · 64GBユニファイドメモリ · 2TB SSD

本体 $61.4/日 · オプション:+2TB SSD $5.2/日

  1. 転送とサンプル確認

    処理する権利のある素材をアップロードし、まず短いクリップでコーデック、カラー設定、書き出しパラメーターを検証します。アップロード時間もバッチ全体の納期に含めて見積もりましょう。

  2. 書き出しキューを組む

    スクリプトやアプリのバッチ処理機能でタスクを整理します。並列数を少しずつ増やし、メモリとディスクの読み書きを確認して、複数の書き出しが互いに遅くならないようにしましょう。

  3. 転送して整理

    音声と映像の同期、長さ、ファイルの完全性を確認し、完成データとジョブログを転送します。バックアップを確認したら中間ファイルを削除し、次のバッチ用に容量を確保してください。

おすすめしないケース

ローカルの周辺機器、現場での収録、低遅延の編集操作が必要な場合、リモートノードはワークステーションの代わりにはなりません。素材のアップロードにかかる時間が処理によるメリットを上回る場合も、まずはローカルの手順を維持しましょう。

標準搭載の2TB SSDで、素材、キャッシュ、書き出しファイルの最大使用量を見積もります。容量が足りないと確認できた場合に限り、+2TB SSDを追加してください。最初から追加する必要はありません。

Port M4 Proを借りて素材を一括処理
タスクに合った料金プランを選ぶ

一時的な作業は日単位で試し、定常的なキューなら月額を検討

料金プランはノードを確保する期間で決まり、1回のタスクの実行時間では決まりません。以下は試用時の目安であり、並列処理の能力や完了時間を保証するものではありません。

活用例、おすすめプラン、利用期間の目安。料金はすべてUSDです。
タスク おすすめプランと仕様 利用期間の目安 まず確認する項目
個人開発者のFlutterビルド Port M4 Base
Apple Silicon M4 · 16GB · 256GB SSD
日単位 · $19.7/日 署名の成否、ipaの配信可否、ディスクの空き容量
チームのマージビルドとnightly Port M4 Plus
Apple Silicon M4 · 24GB · 512GB SSD
月単位 · $201.6/月 メモリ使用量のピーク、自分のタスクキューの長さ、キャッシュのヒット状況
モデル推論と量子化評価 Port M4 Pro
Apple Silicon M4 Pro · 64GB · 2TB SSD
まずは日単位 · $61.4/日
継続利用なら $307.1/月
フレームワークの互換性、モデルとコンテキストのメモリ使用量、結果の再現性
一括トランスコードと書き出し Port M4 Pro
Apple Silicon M4 Pro · 64GB · 2TB SSD
日単位 · $61.4/日
必要に応じて+2TB SSDを追加 · $5.2/日
素材の転送時間、一時ファイルの最大容量、完成データの検品結果

3つのプランはすべて、シンガポール、日本(東京)、韓国(ソウル)、香港、米国西部から選べます。実際の空き状況はコンソールに表示される最新情報をご確認ください。お支払いはUSDT-TRC20、Visa / Mastercard / Amex(Stripe経由)に対応しています。利用可能な決済ゲートウェイはバックエンドの応答をご確認ください。

1台のノードでタスクを順番に実行

専有でも同時実行数は無制限ではありません。まずリリース作業を整理しましょう

2つのスケジュール例で、同じ専有ノードに対する異なる実行方法を紹介します。横方向のマス目は処理の順序を示し、分数には対応しません。ブロックはワークフローの例であり、コンソール画面、実際の実行記録、性能の保証を示すものではありません。

通常のマージ日 並列数を抑え、再現可能なビルド環境を維持
main
依存関係とコンパイル基本テスト成果物を保存
release/2.4
mainの完了を待機署名してアーカイブ配信
nightly
夜間キューに登録UIテスト

まずはジョブを1つずつ実行します。作業ディレクトリとキャッシュキーを分けてから、プロジェクトの実測結果をもとに並列数を増やすか判断しましょう。

リリース集中日 リリース用のアーカイブを先に完了し、ブロッキングでないタスクは後に実行
release/2.4
対象コミットを固定してアーカイブ署名を検証アップロードして配信
main
リリースジョブの完了を待機マージビルドを再開
nightly
ブロッキングでないテストを後回し回帰テスト

リリースと回帰テストを同時に完了する必要があるなら、同じマシンの実行数を増やすより、別々のノードに分けることをおすすめします。

プランを上げる前に、リソース不足かワークフローの問題かを見極める

CPU、メモリ、ストレージが継続的なボトルネックなら、プランの見直しを検討できます。一方、ロックの競合、依存関係のダウンロード失敗、署名工程の直列化が原因なら、まずワークフローを調整しましょう。ノードが365日稼働していても、成果物のバックアップや失敗時の再試行は必要です。コミットID、ツールのバージョン、ジョブログ、成果物の保存先をまとめて記録しておけば、問題発生時に明確な工程から再開できます。

実際のプロジェクトで判断

使い方が見つかりましたか?まず一度、納品まで試しましょう

コンソールでプラン、リージョン、期間を選び、コードの取得から成果物の検収まで実行します。署名、依存関係、メモリ、アップロード経路を確認してから、ノードを継続的にパイプラインへ組み込むか判断してください。

日単位のトライアルは$19.7/日から。料金はUSDです。使っていないMacがあり、タスクも少ない場合は、例に合わせてワークフローを変えず、自前の環境を使い続けることもできます。