コンソールアカウント
注文担当者がコンソールにログインし、注文、請求、ノード、デバイスの状態を確認できることを確認します。技術責任者は、誰がチケットを送信し、更新手続きを行うか把握しておきます。
この入門ガイドでは、準備物、2種類の専用物理マシン、4つのノード、初回SSHログイン、Xcodeビルド検証を扱います。順番に進め、各手順を完了してから次へ進んでください。
注文前に、接続、ビルド、権限管理の担当者を明確にすると、納品後の情報補完を減らせます。以下の5項目にはすべて明確な担当者を設定してください。
注文担当者がコンソールにログインし、注文、請求、ノード、デバイスの状態を確認できることを確認します。技術責任者は、誰がチケットを送信し、更新手続きを行うか把握しておきます。
チームで承認したEd25519公開鍵を用意し、公開鍵の内容だけを提出します。秘密鍵は管理対象のデバイスまたは鍵管理システムに保管し、メール、チケット、リポジトリで共有しないでください。
プロジェクト、CI設定、依存関係から対象のXcodeバージョンを確認し、最低macOS要件も記録します。「最新版」とだけ記載せず、照合可能なバージョン番号を残してください。
制限付きデプロイキーまたは短期トークンで必要なリポジトリを読み取れることを確認します。まず最小権限の範囲を定め、その後に成果物の書き込みやステータス更新を許可するか判断します。
GUI操作が必要な場合は、VNCまたはmacOS画面共有クライアントを事前に用意します。自動化、診断、ファイル操作にはSSHを優先し、GUIセッションへの依存を減らします。
2種類のモデルはいずれもApple Silicon物理ノード上の専用物理マシンで、仮想マシンではありません。シンガポール、東京、ソウル、香港を選択でき、実際の利用可否は注文時にコンソールが返すリアルタイム情報を基準とします。
M4 · 16GB RAM · 256GB SSD
単一のiOSビルドパイプライン、日常的なmacOSコンパイル、依存関係の検証、継続稼働する軽量なセルフホストrunnerに適しています。
選定基準:クリーンビルドのピークメモリとディスクのワーキングセットを一度測定し、依存キャッシュ、ログ、成果物のための容量を確保します。
M4 · 24GB RAM · 512GB SSD
大規模なXcodeワークスペース、並列テスト、コンテナワークロード、より多くのビルドキャッシュと成果物を保持したいチームに適しています。
選定基準:runnerがコンパイル、シミュレータテスト、依存関係処理を同時に実行する場合は、メモリのピークとキャッシュの増加速度を優先して確認します。
主な開発者、コードソース、自動化のスケジューリング入口に近いノードを選びます。単一のpingだけでなく、稼働時間帯の安定性とリモートデスクトップ体験も確認してください。
日、週、月、四半期単位でレンタルできます。短期検証では想定テスト時間に合わせて期間を選び、安定したパイプラインではリリースの頻度と更新担当を踏まえて期間を決めます。
注文には基本モデル、期間、ノード、追加オプションが個別に表示されます。価格と決済はすべて米ドル(USD)で統一され、支払いの送信前に注文担当者が再確認してください。
コンソールに表示された支払い情報で、ネットワーク、金額、注文IDを確認します。送金前にTRC20ネットワークであることを確認し、送信後は照合用の取引記録を保管してください。
カード決済はStripeで処理されます。支払いページから戻ったら、コンソールで注文ステータスと請求額を確認してください。ブラウザの戻り先ページをデバイス納品の根拠にしないでください。
モデル名、M4チップ、メモリ、標準SSDが選択したプランと一致していることを確認します。
日、週、月、四半期のいずれかを確認し、テスト期間を長期期間と間違えないようにします。
シンガポール、東京、ソウル、香港のいずれかが接続計画と一致していることを確認します。
SSD拡張とThunderbolt 5の並列接続数を確認してから、支払いを送信します。
実際に利用できる決済ゲートウェイはコンソールの表示を基準とします。支払い完了はデバイスに接続できることを意味しないため、注文ステータスと納品情報を引き続き確認してください。
デバイスの状態が接続可能になってから、アドレス、アカウント情報、利用期間を確認します。チャット履歴、古いスクリーンショット、別の注文の接続情報は使用しないでください。
各項目は同じ注文の情報である必要があります。ノード、アドレス、利用期間が想定と異なる場合は接続を停止し、コンソールからチケットを送信してください。
コンソールで注文ステータスを確認し続けてください。納品時間はコンソールの確認時刻を基準とし、まだ提供されていない接続アドレスを繰り返し試さないでください。
チケット送信時には、注文ID、想定ノード、現在のデバイス状態、問題を確認した時刻を記載し、パスワード、秘密鍵、完全な支払い情報は記載しないでください。
初回SSH接続で重要なのは、すぐに依存関係をインストールすることではありません。対象アドレス、ホストフィンガープリント、ログインユーザー、ハードウェア情報が現在の注文に属することを確認します。
$ export ZOOMMINI_HOST=assigned-host
$ ssh-keyscan -t ed25519 "$ZOOMMINI_HOST" | ssh-keygen -lf -
256 SHA256:7qV3mL9kR2nF4cX8 assigned-host (ED25519)
$ ssh build@"$ZOOMMINI_HOST"
Last login: remote session
build@zoommini-node ~ %
$ sw_vers
ProductName: macOS
ProductVersion: 15.2
BuildVersion: 24C101
$ system_profiler SPHardwareDataType
Hardware:
Model Name: Mac mini
Chip: Apple M4
Memory: 16 GB
$ uname -m
arm64
割り当てられたアドレスを一時環境変数またはSSH configに設定し、コマンド履歴に誤ったアドレスが残るのを防ぎます。標準以外のポートを使う場合は、ポートパラメータも記録してください。
ローカルで取得したEd25519フィンガープリントを納品記録と1文字ずつ比較します。一致しない場合は接続を停止し、変更後の記録をそのまま受け入れないでください。
sw_vers でmacOSのバージョンを確認し、system_profiler でチップとメモリを確認し、uname -m は arm64を返す必要があります。
まずXcodeの選択を確認し、次にプロジェクトをビルドし、最後に自動テストを実行します。成功を画面だけで判断せず、各手順の終了コードと主要ログを保存してください。
$ xcodebuild -version
Xcode 16.2
Build version 16C5032a
Xcodeのバージョンとビルドバージョンがプロジェクトのマトリクスと一致し、コマンドの終了コードが0であること。
$ xcodebuild -scheme App build
Prepare packages
CompileSwiftSources normal arm64
Ld App normal arm64
** BUILD SUCCEEDED **
出力の末尾に BUILD SUCCEEDEDが表示され、署名、依存関係、ディスク容量のエラーがないこと。
$ fastlane ios test
Resolving Swift Package Manager dependencies
Test Suite 'All tests' passed
Executed 48 tests, with 0 failures
fastlane.tools finished successfully
テスト数が想定どおりで失敗数が0、fastlaneが正常終了し、プロセスの終了コードが0であること。
まず xcode-select -p で現在の開発者ディレクトリを確認し、チームのバージョンマトリクスに従って切り替えます。バージョン問題を回避するためにプロジェクトファイルを直接変更しないでください。
リポジトリ権限、パッケージマネージャーのパス、ネットワークアクセス範囲を確認します。キャッシュを消去する前にエラーログを保存し、最初の失敗の証拠を失わないようにしてください。
証明書、プロビジョニングプロファイル、runner権限の読み込み方法を確認します。秘密情報は管理対象の鍵管理システムから注入し、スクリプトやビルドログに記載しないでください。
受け入れ確認の成功は、ツールチェーンが利用可能になったことを示すだけです。正式にCI/CDへ接続する前に、認証情報の更新、公開鍵管理、権限回収、runnerの最小権限設定も完了してください。
納品案内に従い、交換が必要な初期認証情報を更新します。固有の管理されたパスワードを使用し、ローカル開発マシン、リポジトリ、他のノードで使い回さないでください。
アクセスが必要なユーザーと自動化IDごとに公開鍵を設定します。複数人で同じ秘密鍵を共有せず、公開鍵のコメントから具体的な用途を追跡できるようにしてください。
テスト中に一時的に追加した公開鍵、リポジトリトークン、管理者権限、リモートデスクトップ認証を削除します。離脱したメンバーと無効化したrunnerのアクセスは直ちに回収してください。
runnerには、必要なリポジトリの読み取り、指定スクリプトの実行、指定された成果物保存先への書き込みだけを許可します。システム管理権限やプロジェクト横断トークンを標準で付与しないでください。
次の5項目をすべて満たしてから、ノードを正式なスケジュールに追加します。注文項目、SSHフィンガープリント、システム仕様が一致し、ビルドとテストの終了コードが0で、一時権限が回収済みであること。
まずモデル、ノード、期間を選択します。デバイスに接続できるようになったら、このページの順序に従ってフィンガープリント照合、システム確認、ビルド検証、権限強化を完了してください。