認証情報は現在のノードに対応しているか
ユーザー名、鍵、接続パスワードが現在の注文のものか確認し、終了した注文の接続情報を再利用しないでください。鍵ファイルの権限や、コピー時に空白・改行が加わっていないかも確認します。
iOS、macOS、CI/CD、Apple Siliconの検証環境向けトラブルシューティングガイドです。まずノードとネットワークを確認し、次にツールチェーンとジョブログを調べて、複数の変数を同時に変更しないようにします。
コンソールには現在の注文に対応するノード情報が表示されます。項目をコピーする際は元の形式を保ち、アドレス、ユーザー名、ポートを推測で入力しないでください。
コンソールにログインし、注文、リージョン、ホストアドレス、ユーザー名、許可された接続方式を確認します。ノードはシンガポール、日本(東京)、韓国(ソウル)、香港、米国東部、米国西部のいずれかにあります。
社内ネットワークが対象ポートを遮断していないことを確認し、経路を書き換える一時プロキシを停止します。有線、無線など各ネットワークでの接続結果を個別に記録してください。
コマンドライン、ファイル同期、自動化タスクにはSSHを優先し、macOSのGUIが必要な場合はVNCを使用します。初回テストでは接続方式を一つに絞り、結果が干渉しないようにします。
ログイン後、システムバージョン、ディスク空き容量、Xcodeのパス、現在のネットワーク時刻を記録します。まず最小構成のプロジェクトを実行し、その後に完全なプロジェクトとビルドキャッシュを移行します。
接続が安定していると確認する前に、プロジェクトを一括アップロードしたり、システム設定を変更したり、CI runnerを登録したりしないでください。再現可能なベースライン結果を先に保存します。
接続に失敗したら、認証情報からネットワークの外側へ順に確認します。各ステップでは条件を一つだけ変更し、コマンド出力やエラーメッセージを保存してください。
ユーザー名、鍵、接続パスワードが現在の注文のものか確認し、終了した注文の接続情報を再利用しないでください。鍵ファイルの権限や、コピー時に空白・改行が加わっていないかも確認します。
コンソールに表示されたポートで接続テストを実行します。タイムアウトは通常ネットワーク経路を示し、即時拒否は対象に到達できているもののサービスまたはポートが一致していない可能性を示します。
端末セキュリティソフト、企業の出口ポリシー、ルーターのルールを確認します。既知の正常な別ネットワークで再テストすると、ローカル制限とノード側の問題をすばやく切り分けられます。
遅延、ジッター、パケットロスを記録し、1回のpingだけで判断しないでください。VNCは連続したジッターの影響を受けやすく、SSHビルドもダウンロード接続のリセットで中断することがあります。
コンソールに戻り、インスタンスと注文の状態を確認します。複数のネットワークから接続できず、認証情報にも問題がなければ、発生時刻とエラー原文を保存してノード障害チケットを送信します。
同じコミットでも、ツールチェーンが違えば結果が変わることがあります。システム環境とプロジェクトの依存関係を分けて検証し、障害がノード、ツールチェーン、リポジトリ設定のどこにあるかを判断します。
xcodebuild -versionして、Xcodeとビルドのバージョンを記録します。xcode-select -pして、Command Line Toolsが想定したディレクトリを指していることを確認します。sw_vers
xcodebuild -version
xcode-select -p
df -h
runnerの登録に成功しても、ワークフローが安全かつ再現可能になったとは限りません。実行範囲、作業ディレクトリ、認証情報、同時実行ポリシーを同時に整備する必要があります。
プロジェクトまたは組織が発行した短期登録情報を使用し、チップ、リージョン、用途を示すラベルを設定します。登録後はローカルの一時コマンド履歴を削除してください。
成果物:runner名とラベル一覧信頼できるリポジトリ、保護ブランチ、明示的なワークフローからの呼び出しだけを許可します。外部コントリビューションが起点のタスクは審査を経由し、未知のスクリプトにノード権限を直接与えないでください。
成果物:リポジトリとブランチの認可ルールタスクの前後に一時ファイル、派生データ、不要なキャッシュを処理します。キャッシュを残す場合はキー、取得元、無効化条件を記録し、古い成果物が新しいビルドに影響しないようにします。
成果物:クリーンアップスクリプトとキャッシュ戦略トークン、SSH鍵、署名素材は管理された鍵運用プロセスに入れます。メンバーの離脱、リポジトリ権限の変更、異常ログの発生時には直ちに無効化して再発行します。
成果物:認証情報の責任者とローテーション記録ログ末尾の一般的な終了コードだけを切り取らないでください。完全なログを保存し、最初にエラーが現れた位置から上へ読み返して、対象、コマンド、依存関係の前後関係を確認します。
| 障害カテゴリ | 一般的なログの兆候 | 最初に確認 | チケットに添付する内容 |
|---|---|---|---|
| 依存関係の解決 | パッケージのバージョン競合、リポジトリ取得失敗、ロックファイルの不一致 | ロックファイル、依存関係の取得元、キャッシュキー、ネットワーク取得結果 | 依存関係の管理方式、失敗したパッケージ名、最初のエラー箇所 |
| 署名設定 | 証明書の照合失敗、権限を利用できない、設定変数の欠落 | scheme、ビルド設定、鍵の注入フロー | 機密情報を除去したエラー原文とビルド対象 |
| テスト失敗 | アサーション失敗、シミュレーター環境の差異、テストのタイムアウト | 失敗したテストケース、destination、並列パラメーター、再試行結果 | テストケース名、終了コード、再現コマンド |
| ネットワーク経由の取得 | 接続リセット、名前解決失敗、ダウンロードタイムアウト | 同じアドレスへの再試行、DNS、プロキシ、出口経路 | 発生時刻、対象の種類、ネットワークテスト結果 |
完全な元ログを保存
最初の有効なエラーを特定
最小コマンドで単独再現
認証情報を削除して抜粋を提出
容量を増やすだけでは、データ分類やバックアップの代わりになりません。まず保存必須のデータを定義し、同期、キャッシュ、移行の方法を決めます。
ソースコードはまずリポジトリで同期し、大容量バイナリや非公開依存関係は管理されたストレージ運用に置きます。初回移行後、コミットハッシュ、サブモジュール、ロックファイルを比較します。
DerivedData、パッケージキャッシュ、runnerの作業ディレクトリは再現性に影響することがあります。削除前にディレクトリ容量とキャッシュキーを記録し、削除後にビルド時間とエラーの変化を比較します。
追加SSDは、より広い作業領域が必要なプロジェクト、キャッシュ、データセットに使用します。正式運用の前に、マウントポイント、読み書きパス、タスク権限を確認してください。
プロジェクトデータ、署名素材、認証情報、ビルド成果物はチームの方針に沿ってバックアップしてください。利用期間の終了前に移行を完了し、コピーを読み取れることを確認します。ノード上の1つだけのコピーを長期アーカイブと見なさないでください。
サポート依頼が具体的であるほど、再現と特定にすぐ着手できます。まず影響を説明し、次にタイムラインと最小限のログを提示してください。秘密情報は一切送信しないでください。
パスワード、秘密鍵、リカバリーコード、完全なトークン、署名素材、完全な支払い情報。ログに秘密情報が含まれる場合は、明確なマスキング表示に置き換えるか削除してください。
コンソールにログインしてチケットを作成し、該当する注文を選択すると、サポート担当者が正しいノードとサービス履歴を確認しやすくなります。
コンソールにログインしてチケットを作成接続断、ノード障害、請求に関する質問では必要な証拠が異なります。適切な分類を選び、同じスレッドに資料を追加して、コンテキストが分断されないようにしてください。
ローカルネットワークの種類、対象ポートのテスト結果、エラー原文、発生時刻を添付してください。別のネットワークで復旧した場合も、2回のテストの違いを記載します。
分類:接続とアクセス影響範囲、最後に正常だった時刻、インスタンスの状態、最小再現コマンドを説明します。連続再起動や設定の一括変更で元の状態を上書きしないでください。
分類:ノード稼働注文ID、請求期間、関連する追加項目、問題の内容を提示します。すべての注文は米ドル(USD)で決済されます。チケットには完全な支払い情報を送信しないでください。
分類:注文と請求進捗、追加の質問、最終結論はすべてコンソールの該当チケットで更新します。新しいログを追加する際は、取得時刻と今回の変更内容を明記して、前後の結果を比較できるようにしてください。
新規注文では2種類の構成と6つのノードから選択できます。既存注文の問題は、コンソールにログインして関連チケットを送信してください。