Xcodeの選択パスを確認
GUIのXcodeバージョンとコマンドラインツールのパスを記録します。複数のバージョンがある場合、ビルドスクリプトで明示的に選択し、対話セッションとrunnerが異なるツールチェーンを使わないようにします。
$ xcodebuild -version
$ xcode-select -p
$ xcrun --find swift
接続情報の取得からXcode、署名、継続的インテグレーションまで、作業ごとに手順を確認できます。各チェック項目には確認可能な結果があり、問題発生時は再現可能な診断記録を準備できます。
Apple Silicon搭載の専有物理ノードです。1台のデバイスを注文ごとに専有し、仮想マシンではありません。初回接続前にノード、OSバージョン、アクセス方法を確認してください。
最初から読む必要はありません。現在のタスクを選び、対応するチェックリストへ直接進んでください。注文、更新、デバイス状態はコンソールで、技術設定とエラーの切り分けはこのページで確認できます。
アクセス認証情報を取得し、ネットワーク、解像度、クリップボードを確認してから、切断後の再接続を検証します。
接続手順を見る ツールチェーンXcodeのバージョン、証明書、プロビジョニングプロファイル、Keychain権限、自動署名設定を確認します。
開発環境を確認 自動化self-hosted runnerをデプロイし、作業ディレクトリを設計して、依存関係とビルドキャッシュを管理します。
runnerをデプロイ システムチェックアップデートやツールチェーン変更の前に環境状態を記録し、互換性を検証して復旧用の資料を準備します。
アップデート方針を見る コンソールタスク注文、更新、デバイス情報、アクセス認証情報、サポート依頼の記録を管理します。
コンソールを開く初回接続の目的は、すべてのプロジェクトをすぐに移行することではありません。認証情報、ネットワーク、グラフィカルセッション、SSHが安定していることを確認してください。基本経路を検証する前に、長時間のビルドを開始することはおすすめしません。
注文ID、ノード、デバイス名、アクセス方法を確認します。認証情報は管理下のパスワード管理ツールにのみ保存し、チャットや公開ドキュメントで共有しないでください。
ローカルネットワークが必要なポートを遮断していないことを確認し、ルートを書き換える一時プロキシを無効にします。現在のパブリック出口とテスト時刻を記録し、まず安定した有線ネットワークで検証してから無線環境と比較します。
まずローカルディスプレイに近い解像度を使い、文字の鮮明さ、キー配列、双方向クリップボードを確認します。高解像度では低速ネットワーク時の画面更新負荷が増えるため、操作の安定性を優先してください。
セッションを一度意図的に切断して再接続し、実行中のコマンドが継続しているか、グラフィカルセッションが元のデスクトップに復元されるか確認します。長時間のタスクは永続的なコマンドセッションまたはCI/CDジョブで実行してください。
アクセス権限は必要なメンバーにのみ付与し、チームメンバーの変更後は認証情報を直ちに更新します。スクリプト、リポジトリ、ビルドログ、スクリーンショットに秘密鍵、完全なパスワード、リモート制御コードを保存しないでください。
まずSSHセッションを確認し、次にXcodeでビルドし、最後に自動パッケージツールを検証します。例は確認手順のみを示しています。プロジェクト名、scheme、workspace、書き出しパラメーターはチームの設定に置き換えてください。
$ ssh developer@assigned-mac
connection established
$ sw_vers -productVersion
current macOS version returned
$ xcodebuild -workspace App.xcworkspace \
-scheme App -configuration Release build
Resolve Package Graph
CompileSwiftSources normal arm64
** BUILD SUCCEEDED **
$ bundle exec fastlane ios verify_build
Checking signing assets
Archive validation passed
fastlane finished successfully
署名の問題は、単一の設定だけが原因とは限りません。まずツールのバージョンを固定し、証明書とプロビジョニングプロファイルの整合性を確認してから、自動化プロセスが必要なKeychain項目にアクセスできることを確認します。
GUIのXcodeバージョンとコマンドラインツールのパスを記録します。複数のバージョンがある場合、ビルドスクリプトで明示的に選択し、対話セッションとrunnerが異なるツールチェーンを使わないようにします。
$ xcodebuild -version
$ xcode-select -p
$ xcrun --find swift
証明書、秘密鍵、プロビジョニングプロファイルは同じ署名フローに属している必要があります。登録後、まず有効期限、チーム情報、ターゲット識別子を確認し、正式ビルドを最初の検証にしないでください。
GUIセッションで利用できても、自動化プロセスで利用できるとは限りません。runnerに対応するユーザーと非対話環境で、ロック解除方法、検索リスト、コード署名へのアクセス権限を確認してください。
失敗したコマンド、ターゲット名、configuration、書き出し方法、最初のエラー行を保持します。最後の一般的な失敗メッセージだけでは、真の原因が分からないことが多くあります。
| 確認対象 | 記録する情報 | 合格基準 | 失敗時の次の手順 |
|---|---|---|---|
| macOS | 現在のバージョン、空き容量 | 対象Xcodeが明確にサポート | 変更を停止し、互換性マトリクスを確認 |
| Xcode | バージョン、選択パス、SDK | コマンドラインとGUIが一致 | ツールパスを修正して最小ビルドを再実行 |
| 署名素材 | 証明書の状態、プロビジョニングプロファイル、チーム | ターゲット識別子と書き出し方法が一致 | 再登録してKeychain権限を確認 |
| プロジェクト依存関係 | ロックファイル、ランタイム、プラグインのバージョン | クリーンなディレクトリで再現可能にインストール | ローカルキャッシュを削除し、失敗ログを保持 |
runnerで日常の開発ディレクトリをそのまま使わないでください。リポジトリ、依存関係キャッシュ、ビルド成果物、一時ファイルの境界を分けることで、失敗したタスクが次のビルドを汚染するのを防げます。
リポジトリごとに分離し、タスク終了後に一時ファイルを削除します。出所不明のチェックアウトディレクトリは再利用しないでください。
ロックファイルまたはツールバージョンに基づいてキャッシュキーを生成し、バージョン変更時は明示的に無効化します。無条件で全量を再利用しないでください。
成果物とソースコードを分けて保存し、アップロード成功後はチームの保持ポリシーに従ってローカルコピーを削除します。
プラットフォームのシークレット機能で注入し、ログ出力を制限します。プロジェクトファイル、キャッシュ、アーカイブには書き込まないでください。
VMOwnのノードは365日、年間を通じて正常稼働します。システムアップデートはユーザーが実施する変更です。リリースやビルドに影響しない時間帯を選び、作業前にツールチェーンの互換性を検証してください。
アップデート前に再現可能なビルド、テスト、アーカイブを1回実行し、コミットバージョンと結果を記録します。アップデート後に同じ入力で再実行することで、差分を特定できます。
最後に成功した手順と最初に失敗した手順を記録し、すべてのキャッシュを何度も削除しないでください。ツールのバージョン、エラーログ、再現コマンドを整理してサポート依頼を提出します。
「接続に失敗した」「ビルドでエラーが発生した」だけでは調査を始められません。発生状況、正確な時刻、最初のエラー、最小再現手順を提供し、ログから機密情報を削除してください。
実際のノードがシンガポール、日本(東京)、韓国(ソウル)、香港、米国西部のいずれかであること、およびコンソール内の注文IDを記載してください。
macOS、Xcode、コマンドラインツール、直接関係する依存関係のバージョンを記録します。デバイス全体のソフトウェア一覧は不要です。
問題の発生時刻、継続時間、タイムゾーンを明記します。接続問題では、ローカルネットワークの所在地と種類も記載してください。
エラー前後の必要なコンテキストを残し、最後の終了ステータスだけでなく最初の失敗情報を優先して提出します。
正常な状態から開始し、コマンド、画面操作、入力、実際の結果を順番に記載します。
再接続、タスクの再起動、ネットワーク切り替え、ローカルキャッシュの削除、設定の復元を行ったか説明し、現状を壊す重複操作を避けます。
購入前の選定相談や一般的な技術的な質問はsupport@vmown.comまでご連絡ください。既存の注文に関する問題は、デバイス、ノード、注文記録を関連付けられるよう、コンソールにログインしてサポート依頼を提出してください。