納品記録を確認
ノード、構成、OSバージョン、利用期間、アクセス認証情報が注文確認情報と一致している必要があります。
最初のセッションを確立
まずCLI接続を確認し、必要に応じてGUIセッションを確立して切断復旧をテストします。
開発環境を再現
Xcode、依存ツール、作業ディレクトリを固定し、旧マシンのファイルをすべてそのまま上書きしないでください。
実際のビルドを実行
実際のリポジトリでアーカイブまたはテストを一度実行し、所要時間、ログ、成果物の検証結果を記録します。
デバイス情報を受け取ったら、まず注文内容と物理ノードを確認し、接続、ツールチェーンの再現、CIランナー登録を行います。各手順に確認コマンド、完了基準、障害時に残す証拠を示します。
ノード、構成、OSバージョン、利用期間、アクセス認証情報が注文確認情報と一致している必要があります。
まずCLI接続を確認し、必要に応じてGUIセッションを確立して切断復旧をテストします。
Xcode、依存ツール、作業ディレクトリを固定し、旧マシンのファイルをすべてそのまま上書きしないでください。
実際のリポジトリでアーカイブまたはテストを一度実行し、所要時間、ログ、成果物の検証結果を記録します。
情報を確認する前に環境移行を始めないでください。まずコンソールにログインし、注文記録とデバイス詳細を項目ごとに照合します。不一致があれば画面情報を保存してチケットを送信してください。
ノードがシンガポール、日本・東京、韓国・ソウル、香港、米国東部のいずれかであることを確認します。ノードコードを記録し、主なオフィスネットワークから接続経路をテストします。
構成は2種類です。情報を受け取ったら、チップ、メモリ、ストレージを項目ごとに照合してください。
OSバージョン、ホスト名、接続先、ポート、仮認証情報を確認します。初回ログイン後、チームの規定に従って認証情報を直ちに更新してください。
日、週、月、四半期単位でレンタルする場合も、開始前にデータのエクスポート時刻とタスク停止時点を決め、作業を最後に残さないようにします。
CLIは基本検収と自動化に、GUIセッションはXcode、シミュレータなど画面操作に適しています。両方を個別に検証し、一方の成功だけで接続全体が正常だと判断しないでください。
コンソールからホストアドレス、ポート、ユーザー名をコピーし、文字と大文字・小文字を確認します。古いチケットの期限切れ情報を再利用しないでください。
初回接続時に納品情報と照合します。フィンガープリントが変わった場合は接続を停止して理由を確認し、ローカル記録を削除して再試行しないでください。
現在のユーザー、ホスト名、OSバージョン、ディスク、Xcodeのパスを確認します。すぐにソフトウェアをインストールまたは削除しないでください。
意図的に切断して再接続し、セッションの復旧方法、長時間タスクの保持方法、ログの保存先を確認します。
まず低い解像度と色品質でセッションの安定性を確認し、徐々に設定を上げます。画面のカクつきをデバイス性能の問題と誤認しないでください。
共有画面、録画、管理されていないクリップボードにパスワード、秘密鍵、証明書パスフレーズを表示しないでください。
デバイスを離れる前にGUIセッションをロックします。複数人で作業する場合は同時刻の担当者を明確にし、環境の同時変更を避けてください。
切断後に再接続し、前面アプリ、ビルドプロセス、ディスク書き込みが継続しているか確認します。画面の停止だけでタスク失敗と判断しないでください。
以下のコマンドでチップ、メモリ、ディスク、OSバージョン、ネットワーク、開発ツールのパスを確認します。実行後は出力を保存しますが、チケット送信前にユーザー名、社内リポジトリのアドレス、その他の機密項目を削除してください。
printf '\n== CHIP ==\n'
system_profiler SPHardwareDataType | grep -E "Chip|Memory"
printf '\n== DISK ==\n'
diskutil info / | grep -E "Device Node|File System|Disk Size|Free Space"
printf '\n== SYSTEM ==\n'
sw_vers
uname -m
printf '\n== NETWORK ==\n'
route -n get default | grep interface
ping -c 5 1.1.1.1
printf '\n== XCODE ==\n'
xcodebuild -version
xcode-select -p
swift --version
printf '\n== TOOL PATHS ==\n'
command -v git
command -v ruby
command -v fastlane
環境の一貫性は、旧マシンのユーザーディレクトリ全体をコピーすることではなく、明確なバージョンと再現可能な手順から生まれます。署名素材は必要最小限だけ取り込み、利用期間終了前に削除してください。
実行 xcodebuild -version、メジャーバージョンとビルド番号を記録します。プロジェクトでバージョンを固定している場合は、要件をリポジトリ文書に記載します。
実行 xcode-select -p、必要に応じてチーム承認済みのパスに切り替えます。作業途中で一時的にアップグレードしないでください。
現在のプロジェクトに必要な証明書だけを、管理された転送方法で取り込み、キーチェーンへのアクセス範囲を制限します。
対象の署名IDを確認できるアプリID、チーム情報、機能、有効状態を確認し、他プロジェクトの古いファイルを混在させないでください。
アーカイブ対象がプロジェクト設定と一致ビルドスクリプトでは必要最小限の時間だけロックを解除し、終了後に再ロックします。パスフレーズをリポジトリや通常ログに書き込まないでください。
非対話ビルドで必要項目を読み取れる依存関係の解決、プロジェクト一覧、署名設定を確認してから完全アーカイブを開始します。
正式ビルド前に失敗を検出一度に変更する変数を1つにし、ロールバックポイントを残します。ビルド差異が出たとき、原因がデータ、依存環境、CI登録のどれかを特定できます。
登録後、コールドキャッシュ、ウォームキャッシュ、失敗後の再試行を各1回以上検証します。作業ディレクトリ、キャッシュ、同時実行方針はパイプラインで明示的に管理してください。
| プラットフォーム | 登録確認 | 作業ディレクトリ | キャッシュ戦略 | 同時実行の推奨 |
|---|---|---|---|---|
| GitHub Actions | セルフホストRunnerのタグと対象リポジトリまたは組織の範囲を確認 | 各タスクで独立したワークスペースを使用し、終了後に一時ファイルを削除 | キャッシュキーにロックファイルの要約、Xcode、アーキテクチャ情報を含める | まず単一タスクで検証し、メモリとディスクの負荷に応じて同時実行数を増やす |
| GitLab CI | Runnerタグ、保護ブランチの権限、ランナーの状態を確認 | 複数プロジェクトで書き込み可能なディレクトリや同名成果物パスを共有しない | プロジェクト、ブランチ、依存関係の要約でキャッシュ範囲を分ける | アーカイブ、テスト、軽量チェックに異なるキューを設定 |
| Jenkins | ノードタグ、リモートルート、認証情報のスコープを確認 | パイプライン終了後にworkspaceを削除し、必要なログは残す | 依存キャッシュとビルド成果物を分けて管理 | 同じデバイスで重いアーカイブを同時に実行しない |
| 自前Runner | サービスの起動方式、実行ユーザー、タスク取得条件を記録 | タスクIDごとにディレクトリを作成し、終了時に確実に削除 | キャッシュの所有者、容量上限、無効化条件を明確化 | キューでリソースを制御し、スクリプトの偶発的なロック取得に頼らない |
ランナーがオンラインで、タグが一致し、実行ユーザーが正しく、許可されたリポジトリと認証情報だけを読み取れる
同じコミットがコールド・ウォームキャッシュの両方で同じ成果物になり、失敗時に明確な終了コードが残る
一時署名ファイル、派生データ、ビルド中間物に確実な削除ルールがあり、手作業に依存しない
CPU、メモリ、SSDの負荷に応じてキューを設定し、複数のアーカイブタスクがリソースを奪い合わないようにする
性能問題では、発生時刻、ノード、タスクのコミット、再現手順、比較結果を最低限記録します。「遅い」だけでは、リソース負荷、ネットワーク経路、GUIセッションの問題を区別できません。
高負荷プロセス、スレッド数、タスク段階を記録します。単一タスクと同時実行タスクを比較し、重複ビルド、制御不能なテスト、バックグラウンドインデックスを確認します。
ピークメモリ、圧縮メモリ、スワップの変化を記録します。同時実行時だけ失敗する場合は、すぐネットワークのせいにせず、まず同時実行数を下げて比較します。
空き容量、派生データ、依存キャッシュ、過去の成果物を確認します。削除前にディレクトリ容量を記録し、証拠を失わないようにします。
固定したローカルネットワークで連続テストし、予備ネットワークと比較します。リポジトリの取得が遅い場合は、ノード経路と依存サービスの応答も切り分けます。
解像度と色品質を下げて再テストし、同時にCLIでタスクが継続しているか確認します。再接続後の前面・バックグラウンド状態を記録します。
認証情報、署名素材、ビルド成果物、キャッシュには明確な所有者を設定します。利用期間終了前に、エクスポート、検証、削除、再確認を順に行い、記憶頼みで後回しにしないでください。
既存の注文に関する問題は、コンソールにログインしてチケットを送信してください。ログインできない場合は、次のメールアドレスに送信できます: support@deploymac.com。送信前にパスワード、秘密鍵、証明書パスフレーズ、その他の機密認証情報を必ず削除してください。
コンソールで注文を特定できるIDを記入
シンガポール、日本・東京、韓国・ソウル、香港、米国東部
タイムゾーンを明記し、初回発生時刻と直近の再現時刻を記載
ベーシックまたはハイエンド、および追加ストレージの情報
クリーンな状態から開始し、実際の実行順に項目ごとに記載
完全なコマンド、終了コード、機密情報を削除した出力を添付し、スクリーンショットだけにしない
正常時に表示される状態、ファイル、戻り値を説明
差異、再現回数、すべてのタスクへの影響有無を説明
再試行、再接続、同時実行数の削減、キャッシュ削除などの操作と結果を列挙
コンソールのチケットでは注文、ノード、デバイス情報を関連付けられ、納品確認、接続異常、運用上の問題に適しています。
コンソールにログインしてチケットを送信メールに用途、対象ノード、予定利用期間、問題の影響範囲を記載してください。パスワード、秘密鍵、証明書パスフレーズは送信しないでください。
サポートメールを送信ベーシックは軽量ビルドと日常開発に、ハイエンドは大容量メモリの実験、複数プロジェクトの同時実行、より重いビルドに適しています。どちらも専用物理マシンであり、仮想マシンではありません。