専有の物理マシン。仮想環境ではありません
Mac miniを1台まるごと、1人のお客様に提供します。CPU、メモリ、ストレージを他のお客様と共有しないため、ほかの人のタスクが終わるのを待たずにアーカイブを作成できます。
SPMのダウンロードデータ、CocoaPodsの依存関係、DerivedDataはプロジェクトごとに保持できます。キャッシュの利用可否はブランチ、依存関係のバージョン、ビルド設定によって異なります。毎回環境を作り直す必要はありません。
専有の物理マシン。仮想環境ではありません。6拠点から選べて、$20.1/日から
iOSチーム専用のMacで、コード取得、アーカイブ、署名からTestFlightへの提出まで。
SG
東京 JP
ソウル KR
香港 HK
米国東部 US-E
米国西部 US-W
| Scheme | バージョン | 拠点 | 所要時間 | 署名 |
|---|---|---|---|---|
| Ledger-iOS09:42 ビルド完了 | 2.8.1 (412) | Singapore | 6m12s | 署名済み |
| Ledger-Widget09:38 ビルド完了 | 2.8.1 (412) | Singapore | 2m47s | 署名済み |
| Ledger-Watch09:21 ビルド完了 | 2.8.1 (412) | Tokyo | 3m05s | 署名済み |
| Ledger-Beta08:57 ビルド完了 | 2.8.1 (411) | Hong Kong | 6m30s | 署名済み |
| Ledger-macOS23:10 ビルド完了 | 2.8.0 (409) | US West | 7m02s | 署名済み |
** EXPORT SUCCEEDED **
Ledger-iOS.ipa · 48.2 MB
TestFlightにアップロード済み
内部テストグループ「QA-Nightly」でインストールできます
TestFlight · インストール確認
2.8.1 (412)テスト内容:注文ページのオフラインキャッシュを修正し、ウィジェットにダークモードを追加。
runnerを他のお客様と共有しません。コード、依存関係、ビルドキャッシュは専有の物理ノードに保持されます。
Mac miniを1台まるごと、1人のお客様に提供します。CPU、メモリ、ストレージを他のお客様と共有しないため、ほかの人のタスクが終わるのを待たずにアーカイブを作成できます。
SPMのダウンロードデータ、CocoaPodsの依存関係、DerivedDataはプロジェクトごとに保持できます。キャッシュの利用可否はブランチ、依存関係のバージョン、ビルド設定によって異なります。毎回環境を作り直す必要はありません。
リリース前の1週間だけ使うなら、M4は $54.2/週。nightlyを継続する場合は月払い・四半期払いと比較でき、オフィス用のビルド機を先に購入する必要はありません。
4種類のレンタル期間を公開価格でご案内しています。タスクの期間に合わせてプランを選び、拠点、ストレージ、利用期限を確認してください。マシンの引き渡し後は、ご自身のスクリプトでビルドキューを運用できます。
シンガポール、東京、ソウル、香港、米国東部、米国西部。どちらの構成も6拠点で利用できます。チームの所在地や依存サービスの配置に合わせてお選びください。
リモートでのコーディングでは接続距離を、CIビルドではリポジトリや成果物のアップロード経路も確認しましょう。ノードは365日稼働しており、定期アーカイブを専用マシンに任せられます。
1日 $20.1から。単一アプリのアーカイブにはM4、複数ターゲットや並列テスト、推論にはM4 Proがおすすめです。
単一アプリで1日1~3回アーカイブする場合におすすめの構成です。ソースコード、Xcode、よく使う依存関係を用意し、必要に応じてSSDを追加してください。
複数ターゲット、UIテスト、MLX実験に余裕を持って対応できる構成です。並列実行できるタスク数は、プロジェクトのメモリ使用量とテスト負荷によって異なります。まずは一度計測してから並列数を増やしましょう。
料金はすべて米ドルです。ノードの実際の空き状況はコンソールの最新情報をご確認ください。決済前にレンタル期間、追加オプション、注文合計をご確認ください。
pushからTestFlightまで、使い慣れたツールチェーンをそのまま活用できます。Ledger-iOSを例に、5つのステップで引き継ぎの流れをご紹介します。所要時間はサンプルです。
ローカルでコミットした後にブランチをpushすると、設定済みのCIがビルドを開始します。
git push origin release/2.8.1
ブランチの更新によってアーカイブとリリース記録が食い違わないよう、コミットを固定します。
git fetch origin release/2.8.1 && git checkout --detach FETCH_HEAD
Scheme、Release構成、アーカイブ先を指定し、ログも成果物と一緒に保存します。
xcodebuild -scheme Ledger-iOS -configuration Release -destination 'generic/platform=iOS' -archivePath build/Ledger.xcarchive archive
証明書とプロビジョニングプロファイルを用意し、書き出し設定で署名と配布方法を指定します。
xcodebuild -exportArchive -archivePath build/Ledger.xcarchive -exportOptionsPlist Export.plist -exportPath build/export
配布権限を設定してIPAをアップロードすると、テストグループでビルドを利用できます。
fastlane pilot upload --ipa build/export/Ledger-iOS.ipa --api_key_path asc-key.json
このフローはチームで設定する必要があり、レンタル後にリポジトリの運用を自動で引き継ぐものではありません。最初にXcodeのバージョン、依存関係のロックファイル、署名設定を揃えてから、GitHub Actions self-hosted runner、GitLab Runner、またはJenkins agentを登録してください。実際の所要時間はプロジェクトのサイズ、キャッシュ、ネットワークによって異なります。
まずチームのタイムゾーンで候補を絞り、ノードへの接続経路を確認しましょう。以下のレイテンシは地域の目安で、都市ごとの実測値ではありません。
東南アジア
東南アジアのチームが日中に開発し、夜間もアーカイブや配布タスクを続ける用途に適しています。
シンガポールノードを選ぶ東アジア
東アジアの勤務時間に合わせて、開発、テスト、nightlyの引き継ぎを進めるチームに適しています。
東京ノードを選ぶ北東アジア
北東アジアのチームに。リモート開発とビルドのトラブル対応を同じ時間帯に進められます。
ソウルノードを選ぶ華南・東南アジア
UTC+8のチームに適しています。接続品質は現地の通信事業者やルートも考慮してご判断ください。
香港ノードを選ぶ北米東部・西欧
北米東部や西欧との協業に適しています。引き継ぎ前にアーカイブを実行すれば、次のタイムゾーンの担当者がログやテスト用ビルドを受け取れます。
米国東部ノードを選ぶ北米西海岸
北米西海岸の勤務時間に合わせた利用に適しています。リモートデスクトップの操作感だけでなく、リポジトリの取得、依存関係のダウンロード、成果物のアップロードも確認しましょう。
米国西部ノードを選ぶタイムゾーンは協業の目安です。一部の地域では季節により変更されます。実際のレイテンシは所在地、通信事業者、ネットワーク経路によって異なります。ノードの空き状況はコンソールの最新情報をご確認ください。
用途を具体的にすれば、レンタルする価値があるか判断しやすくなります。3つの利用例をご紹介します。
毎晩のnightlyビルドを同僚のMacBookから東京ノードに移しました。朝出社すると、IPAはもうTestFlightに上がっています。
M4 Pro 64GBでFastlaneとUIテストを一度に実行。共有runnerの順番待ちもなくなりました。
ローカルで7Bモデルの推論実験をしています。週単位で借りて、期間が終わったら停止。料金もわかりやすいです。
マシンとレンタル期間を選んだら、決済ページに表示される決済方法をご確認ください。請求とマシンの管理はコンソールで行えます。
お支払いはすべて米ドル(USD)です。実際に利用できる決済方法は、バックエンドに表示される内容をご確認ください。クレジットカード情報はStripeが処理し、当サイトでは保存しません。お支払い後は、コンソールで注文、納品状況、請求書、更新手続きを確認できます。技術的な問題も同じ場所からお問い合わせください。
DerivedData、SPMキャッシュ、シミュレータイメージは、使い続けるうちにストレージを消費します。再生成できるキャッシュと持ち出しが必要なアーカイブを分けてから、容量を決めましょう。
外付けSSDは、ビルドキャッシュや大容量ファイルの保存に便利です。レンタル終了前に、必要なソースコード、アーカイブ、ログをお手元のストレージに同期してください。追加ドライブだけを唯一のバックアップにしないようご注意ください。
追加オプションの料金を見るDerivedData、SPMキャッシュ
複数バージョンのシミュレータイメージ、アーカイブの保存
複数のM4 Proを連携させる場合は、トポロジーとタスクの割り当てを事前にご確認ください
配布、リモート環境、署名の手順を、そのまま実行できる形で紹介します。まず一度動かしてから、繰り返しの作業をスクリプトに任せましょう。
Swift の検査スクリプトで XML 入力の境界を定義し、DTD や上限超過の固定サンプルで失敗経路を確かめます。
CI/CD整数変換を使わない SemVer 比較器を実装し、プレリリースの順序と不正入力を検証。更新ポリシーとの責務の境界も整理します。
CI/CD球面距離と測位精度を固定データで検証し、入場と退場に異なるしきい値を設けて境界付近の状態反転を抑えます。
新しい記事を準備中です。まずはブログ一覧をご覧ください。
マシン、ツールチェーン、データの引き継ぎ範囲を事前に確認しましょう。
Mac miniを1台まるごと使える専有物理マシンで、仮想環境ではありません。CPU、メモリ、ストレージ、ビルドキャッシュを他のお客様と共有しません。macOSのGUIとコマンドラインを利用できます。プロジェクトの依存関係、署名資産、CIタスクはチームで設定してください。
M4は1日 $20.1から、M4 Proは1日 $60.3です。週・月・四半期の3つの期間も選べます。ツールチェーンの一時的な検証なら日単位、リリース前の集中利用なら週単位、nightlyの継続運用なら月払い・四半期払いをご検討ください。お支払い前に、注文内容の期間、金額、利用期限をご確認ください。
マシンにself-hosted runnerやGitLab Runnerを登録するほか、Jenkins agentも接続できます。まずXcodeのバージョンと依存関係を固定し、その後Fastlane laneを設定してください。runnerのラベルは対象のビルドタスクに割り当て、複数のアーカイブが同じディレクトリを同時に使わないようにします。接続と移行の手順はマシンへの接続方法をご覧ください。
プロジェクトと署名の設定が必要です。Scheme、証明書、プロビジョニングプロファイル、Export.plistを用意してください。配布にはApp Store Connect API Keyを使用できます。.p12、秘密鍵、API Keyを公開リポジトリに登録しないでください。まず手動でarchiveとexportを実行し、その後自動実行を設定すると、問題を切り分けやすくなります。
マシンを回収した後、ストレージを安全に消去し、システムを再インストールしてから次のお客様に提供します。利用期限までに必要なアーカイブ、成果物、ログをエクスポートし、証明書とCIのアクセス情報を削除してください。使わなくなった認証情報も取り消しましょう。利用を続ける場合は、コンソールで更新と注文状況を確認し、ビルドノードを唯一の保存先にしないでください。
コンソールからチケットを送信し、注文番号、ノード、Xcodeのバージョン、再現コマンド、ログ末尾50行を添付してください。SSH接続、依存関係のダウンロード、コンパイル、署名のどこで失敗したかを切り分け、直近の変更も記載してください。ログからトークン、秘密鍵、パスワードを削除してください。メールでのお問い合わせ先は support@osxbuild.comです。