SSH接続
プロジェクトのチェックアウト、依存関係の確認、 xcodebuildの実行、ログの確認、macOS CI runnerとの連携に適しています。
- SSHクライアントと、許可されたアカウントを用意します。
- 初回接続時はホストフィンガープリントを確認し、認証を省略しないでください。
ビルドスクリプトを実行するならSSH、Xcodeの画面を確認するならリモートデスクトップを選びましょう。UDPMacでは専有物理Macをご利用いただけます。接続先やアカウント権限、利用可能な接続方法は、コンソールに表示される情報をご確認ください。
すでにインスタンスをお持ちの場合は、まずコンソールでデバイスの状態と接続情報を確認してから、以下の手順に進んでください。
この図は操作の順序を示すもので、インスタンスの状態や実際の接続情報は表示していません。
ターミナルとGUIデスクトップにはそれぞれ適した用途があります。自動化スクリプトの実行にデスクトップ接続を維持する必要はなく、画面での確認が必要なXcode操作をターミナルで代用する必要もありません。
プロジェクトのチェックアウト、依存関係の確認、 xcodebuildの実行、ログの確認、macOS CI runnerとの連携に適しています。
macOSのGUIやディスプレイ設定の確認、デスクトップ上での操作が必要な作業に適しています。
まずリモートデスクトップでプロジェクトを開き、Xcodeのバージョン、プロジェクト設定、署名に必要な情報を確認してから、テストビルドを実行します。
パスワード、秘密鍵、署名証明書、接続情報一式を、公開ページやチャット、障害報告用のスクリーンショットに貼り付けないでください。
コンソールでインスタンスが利用可能になっていることを確認し、現在の注文に対応する機種とノードを確認してください。別のデバイスの古い接続先を使わないでください。
そのインスタンスへのアクセスが許可されたアカウントを使用していることを確認します。チーム内で役割が分かれている場合は、ログインできる人とツールチェーンやプロジェクトファイルを変更できる人を確認してください。
ローカルネットワークと、接続先で必要なポートに到達できることを確認します。タイムアウトが起きた場合は、ネットワークの問題か認証失敗かを切り分けてください。
SSH作業ではターミナルクライアントを、デスクトップ作業では対応するVNCクライアントを用意し、ローカルデバイスから該当する接続を確立できることを確認してください。
以下のホスト名とユーザー名は、コマンドの構造を示す例です。実際の接続先、アカウント、認証情報はコンソールで確認してください。
コンソールでホスト、アカウント、必要な認証方法を確認し、例のプレースホルダーをこのインスタンスの情報に置き換えてください。他のインスタンスの接続履歴を使い回さないでください。
初回接続時にホストフィンガープリントの確認が表示されたら、信頼できるインスタンス情報と照合してから続行してください。確認済みの情報と一致しない場合は接続を中止し、原因を調べてください。
作業ディレクトリ、Xcodeのツールチェーン、ディスク容量を確認してからプロジェクトのコマンドを実行します。必要な成果物とログを保存したら、 exit でセッションを終了します。
ssh USER@HOST.example.invalid
xcode-select -p
xcodebuild -version
exit
このサンプルのドメインでは接続できません。プロジェクトのビルドコマンド、作業ディレクトリ、署名設定はご自身のプロジェクトに合わせて確認してください。この例だけを根拠に設定を判断しないでください。
GUI操作が必要な場合のみ、デスクトップに接続してください。SSHとVNCでは接続情報が異なる場合があります。それぞれコンソールに表示される情報をご確認ください。
インスタンスが利用可能になったら、コンソールで現在のデバイスのリモートデスクトップ接続先、接続方法、アカウント要件を確認してください。古いメールや他の人のスクリーンショットから認証情報を転記しないでください。
ローカルのVNCクライアントに対応する接続情報を入力します。認証が必要な場合は、許可された情報を使用してください。エラーを回避するために、クライアントの接続セキュリティ警告を無効にしないでください。
接続後、画面サイズに合わせて拡大率や解像度を調整します。プロジェクトやシステム設定を変更する前に、入力フォーカスとキーボード配列を確認してください。
作業を保存し、機密データを含むウィンドウを閉じてから、クライアントでセッションを切断します。共有デバイスに認証情報を保存しないでください。
クラウドMacは実行環境を提供しますが、プロジェクトがそのままビルドできるとは限りません。まず小規模なテストを行い、日常のビルドに組み込む方法を検討してください。
プロジェクトをチェックアウトまたは移行したら、ブランチ、依存関係ファイル、プロジェクトの起点が一致していることを確認します。不足している依存関係や初回起動時の設定メッセージを記録し、メインブランチを直接変更して試さないでください。
確認完了:プロジェクトと想定したブランチを確認できました。
Xcodeのバージョン、選択中のコマンドラインツール、プロジェクトのターゲット設定を確認します。ビルドに署名情報が必要な場合は、チームのセキュリティ手順に従って保管・使用権限を管理し、ログに記録しないでください。
確認完了:ツールチェーンとビルドターゲットを記録しました。
対象を明確にしてビルドを開始し、失敗した手順、主なエラー、成果物の保存先を記録します。出力を確認してから、依存関係、設定、接続のどれを修正するか判断してください。
確認完了:結果と機密情報を除いたログを再確認できます。
チームに報告する際は、発生時刻、接続方法、インスタンスの注文識別子、機密情報を伏せたエラー内容を記録してください。認証情報一式やプロジェクトの機密が写ったスクリーンショットは送らないでください。
| 症状 | まず確認すること | 記録する内容 |
|---|---|---|
| 認証エラー | アカウント、認証方法、インスタンスの組み合わせを確認します。初回接続の場合は、ホストの識別情報も確認してください。 | クライアントに表示されたエラー全文、接続方法。ユーザー名以外の機密情報は伏せてください。 |
| 接続タイムアウト | インスタンスの状態、ローカルネットワーク、接続先、必要なポートを確認し、タイムアウトとパスワードエラーを区別してください。 | 発生時刻、選択したノード、ネットワーク環境、タイムアウトが発生した手順。 |
| 画面の遅延 | ローカルネットワークの安定性を確認し、リモートデスクトップの表示負荷を下げてみてください。ターミナル操作にも影響があるか確認します。 | 発生時刻、クライアントの表示設定、再現可能な操作。 |
| セッション切断 | ローカルネットワークの変化、クライアントの通知、インスタンスの状態を確認します。再接続する前に、未完了のファイル操作がないか確認してください。 | 切断直前の操作、クライアントの通知、再接続した結果。 |
SSHまたはリモートデスクトップのセッションを終了した後、アカウント、作業ファイル、今後のアクセス予定を確認してください。利用期間が終わる前に、チームで保管が必要なプロジェクトデータとビルド成果物をエクスポートしてください。
不要なアクティブセッションや一時的な権限が残っていないか確認し、チームの手順に従って対応してください。
成果物がアーカイブされていることを確認します。不要な一時ファイルを削除する前に、次回のビルドに影響しないか確認してください。
共有デバイスに保存された接続情報を削除し、秘密鍵、署名情報、機密項目を含むログを共有場所に残さないでください。
サイトおよびサービス情報の取り扱いについては、プライバシーポリシーをご覧ください。
機種、利用期間、ノードを確認してください。利用開始後、コンソールで実際の接続情報を取得し、このガイドに沿ってSSHまたはGUIデスクトップを選びます。