実行可能なエンジニアリングサポート

クラウドMacへの接続からビルド成果物の納品まで、問題を順に解決

概念だけのドキュメントではありません。各ガイドで準備項目、実行手順、確認結果、失敗時に保存すべきログを説明します。SSH、VNCリモートデスクトップ、Xcode、fastlane、セルフホストRunner、請求管理に対応しています。

4 種類のガイド入口 5 サービスノード 365 日間の安定稼働
build-diagnostics チェック完了
接続方式 SSH / VNC
ビルドツール Xcode / fastlane
実行アーキテクチャ Apple Silicon
$ xcodebuild -version Xcode 16.x $ uname -m arm64 $ df -h / volume check: ready
環境を確認してから、完全なパイプラインを実行 接続、依存関係、署名、同時実行のいずれか1つに原因を絞り込みます。
サポートセンター検索

タスクで絞り込み、最初から読む必要はありません

現在対応中のタスクを選ぶか、SSH、アーカイブ、署名、Runner、ノード、請求などのキーワードを入力してください。絞り込みは一覧カードだけを変更し、完全な手順はこのページ下部に残ります。

デバイスに接続

SSHとVNCで初回接続

公開鍵を準備し、ホストフィンガープリントとarm64環境を確認して、グラフィカルセッション終了後に安全に切断します。

目安10分
開発環境を設定

Xcodeを選択して依存関係をインストール

ツールチェーンのバージョンを固定し、コマンドラインのパスを確認して、ロックファイルに従ってRuby、Pods、Swift Packageの依存関係を復元します。

目安15分
ビルドを実行

アーカイブを実行して成果物を書き出す

workspace、scheme、destinationを明示してアーカイブを実行し、xcresultと書き出しログを保存します。

目安20分
ビルドを実行

fastlaneの自動化とクリーンアップ

機密変数を一時的に注入し、固定したlaneを実行します。成果物を保存したら一時ファイルとプロセス環境を削除します。

目安20分
ビルドを実行

セルフホストMac Runnerを接続

専用Runnerを登録し、リポジトリの範囲を制限して能力タグを設定します。各タスク後に作業ディレクトリをクリーンアップします。

目安25分
開発環境を設定

ビルド障害の5項目チェック

ネットワーク、ディスク、署名素材、依存キャッシュ、同時実行を順に確認し、複数の変数を同時に変更しないようにします。

目安15分
デバイスに接続

ノードを選択して移行を申請

開発者、コードリポジトリ、パイプラインサービスの場所に応じて5つのノードから1つを選び、チケットで移行を申請します。

目安5分
請求を管理

注文と追加項目を確認

注文ID、レンタル期間、ノード、ストレージまたはThunderbolt 5並列接続項目を提出すると、請求記録を特定しやすくなります。

4項目を準備
請求を管理

有人サポートへエスカレーション

コンソールのチケットまたはサポートメールで、デバイスID、ノード、時間範囲、マスキング済みログを送信します。

2つの連絡手段
接続ガイド

信頼できる接続を確立してから環境を設定

接続情報はコンソールの表示を基準にしてください。秘密鍵、一時認証情報、完全な接続コマンドを公開リポジトリ、ビルドログ、チームチャットに貼り付けないでください。

SSHコマンドライン接続

  1. 1
    ローカルの公開鍵を準備

    パスフレーズで保護した専用鍵を優先してください。公開鍵だけをアップロードし、チケットやメールで秘密鍵の内容を送信しないでください。

  2. 2
    接続情報を読み取る

    コンソールでデバイスID、ノード、ホストアドレス、ポート、ユーザー名を確認し、以前のレンタル記録を再利用しないでください。

  3. 3
    ホストフィンガープリントを検証

    初回接続前にコンソールのフィンガープリントと比較してください。一致しない場合は接続を停止してチケットを送信し、ローカル記録を直接上書きしないでください。

  4. 4
    基本チェックを実行

    実行 uname -mxcodebuild -versiondf -h /を実行し、アーキテクチャ、ツールチェーン、ディスク空き容量を記録します。

VNCリモートデスクトップ接続

  1. 1
    まずSSHが利用できることを確認

    グラフィカル接続に失敗した場合、SSHはプロセス、ディスク、ネットワーク状態を確認する主要な経路です。先にホストフィンガープリントを検証してください。

  2. 2
    コンソールからセッション情報を取得

    現在のデバイスに対応するVNCエンドポイントと一時認証情報を使用し、ブラウザー同期、共有ドキュメント、パイプライン変数には保存しないでください。

  3. 3
    グラフィカル環境を確認

    ログイン後、解像度、キーボードレイアウト、Xcodeの起動状態、空き容量を確認してから署名またはアーカイブを開始します。

  4. 4
    セッションを終了してクリーンアップ

    実行中の開発ツールを終了し、一時ダウンロードと平文の認証情報を削除してからリモートデスクトップセッションを閉じます。

認証情報の管理範囲:チームメンバーは各自管理されたアクセス方法を使用してください。メンバーがプロジェクトを離れたら、対応する公開鍵とパイプライントークンを失効させ、ローカルのSSH設定だけを変更しないでください。
Xcodeビルドガイド

バージョン、依存関係、書き出しパラメータを明示して再現可能なビルドに

グラフィカルインターフェースで前回選択したschemeに依存しないでください。自動化タスクではXcodeのパス、workspace、scheme、configuration、destination、書き出し設定を明示します。

01

Xcodeのバージョンを選択・検証

プロジェクト要件を確認してから xcode-select で対象バージョンを指定します。続けて xcodebuild -versionxcrun swift --versionをそれぞれ実行し、出力をビルドログの先頭に記録します。

02

ロックファイルに従って依存関係をインストール

Rubyプロジェクトではまず bundle installを実行し、Podsプロジェクトはロックファイルから復元し、Swift Packageは先に依存関係を解決します。キャッシュは高速化のためだけに使い、ロックファイルのバージョン制約の代わりにしないでください。

03

アーカイブタスクを実行

DerivedDataとarchivePathを現在のタスク専用ディレクトリに指定します。同時実行タスクで出力パスを共有すると、インデックス、キャッシュ、アーカイブが上書きされるおそれがあります。

04

成果物を書き出して検証

バージョン管理された書き出し設定で実行します。コマンドの終了コード、成果物、署名結果、dSYMを確認してから、管理された納品ディレクトリへコピーします。

05

追跡可能なログを保存

少なくともプレーンテキストのビルド出力、書き出しログ、xcresultを保存します。ファイル名にはパイプラインタスクIDを含め、アクセストークン、秘密鍵、完全な署名素材は含めないでください。

archive.sh
xcode-select -p
xcodebuild -version
xcrun swift --version

bundle install
bundle exec pod install

xcodebuild archive \
  -workspace App.xcworkspace \
  -scheme App \
  -configuration Release \
  -destination "generic/platform=iOS" \
  -archivePath output/App.xcarchive \
  -resultBundlePath output/App.xcresult

xcodebuild -exportArchive \
  -archivePath output/App.xcarchive \
  -exportPath output/export \
  -exportOptionsPlist ExportOptions.plist
入力 リポジトリ、ロックファイル、管理対象環境変数 実行場所 専用クラウドMac 成果物 アーカイブ、書き出しファイル、xcresult、マスキング済みログ
fastlane自動化ガイド

機密変数はタスク実行中だけ存在

fastlaneはビルド手順をまとめるためのもので、鍵を長期保存するものではありません。署名素材、リポジトリトークン、アップロード認証情報は管理対象変数から注入し、タスク終了後に削除します。

INPUT

鍵と署名設定を注入

タスク開始時に必要最小限の変数を注入します。一時ファイルはタスク専用ディレクトリに置き、権限を制限し、コマンドのエコーで変数値を出力しないでください。

  • 変数名は記録しても、値はログに出さない
  • 署名設定とプロジェクトブランチの対応を明確にする
  • 一時ディレクトリを後続タスクで再利用しない
RUN

固定laneを実行

Rubyとgemのバージョンを固定するため、 bundle exec fastlane を使用します。lane内でscheme、書き出し方式、出力ディレクトリ、失敗時の終了条件を明示してください。

  • ビルド前にツールのバージョンを出力し、認証情報は出力しない
  • 失敗時は現在のタスクログとxcresultを保存
  • 再試行前に環境問題かコード問題かを判断
CLEAN

成果物を保存してクリーンアップ

まずアーカイブ、書き出しファイル、ログを管理された場所にコピーし、その後、一時署名ファイル、環境ファイル、ダウンロードキャッシュ、タスク作業ディレクトリを削除します。

  • 成果物が存在し、ファイルサイズが妥当であることを確認
  • シェル履歴から機密コマンドを削除
  • バックグラウンドにビルドプロセスが残っていないことを確認
bundle exec fastlane ios archive 依存関係のバージョンを固定 独立した出力ディレクトリ 失敗時はゼロ以外の終了コードを返す
CI/CD連携ガイド

クラウドMacを管理対象の実行ノードとしてパイプラインに接続

Runnerには明確なリポジトリまたはプロジェクト範囲を設定します。信頼できないブランチのタスクに本番用署名素材を自動付与せず、セキュリティレベルの異なるタスクで同じ作業ディレクトリを共有しないでください。

GitHub Actions

セルフホストRunnerの接続手順

  1. スコープを決める

    チームの権限モデルに応じてリポジトリ単位または組織単位のRunnerを選び、呼び出せるプロジェクトを制限します。

  2. 専用システムユーザーを作成

    Runnerプロセスに日常の管理者アカウントを使わないでください。作業ディレクトリとビルドツールに必要な権限だけを付与します。

  3. 能力タグを設定

    タグにはアーキテクチャ、Xcodeメジャーバージョン、タスク種別を示し、ワークフローが適切なノードを選べるようにします。

  4. 直列・並列実行の方針を設定

    1つの作業ディレクトリでは同時に1タスクだけ処理します。並列実行には専用ディレクトリまたは専用デバイスを使用します。

  5. タスク後にクリーンアップ

    一時変数ファイル、署名素材、未アップロード成果物を削除し、残留プロセスを確認してから次のタスクを受け付けます。

一般的なパイプラインシステム

AgentまたはSSH実行器で接続

  1. 一方向のタスク入口を構築

    パイプラインからクラウドMacへタスクを割り当て、デバイス管理認証情報をリポジトリ設定に記述しないでください。

  2. コマンドとディレクトリを制限

    ビルドユーザーは指定されたリポジトリ、キャッシュ、出力パスだけにアクセスし、管理操作には別の権限経路を使います。

  3. ツールチェーンを事前確認

    本番ビルド前にアーキテクチャ、Xcode、Ruby、依存関係マネージャー、ディスク空き容量を確認し、失敗したらタスクを停止します。

  4. 終了コードを統一

    依存関係のインストール、テスト、アーカイブ、書き出しのいずれかが失敗した場合はゼロ以外のステータスを返し、パイプラインが成功と誤認しないようにします。

  5. アップロード後にクリーンアップ

    成果物とログのアップロードを確認してからタスクディレクトリを削除します。チケットと関連付けられるようタスクIDを残します。

同時実行の目安:ベース構成はM4、16GB、256GBで、軽量ビルドと単一プロジェクトの署名に適しています。Pro構成はM4 Pro、64GB、2TBで、高い同時実行数のビルドと大容量の依存キャッシュに適しています。最終的には1回のビルドのピークメモリ、並列タスク数、キャッシュ容量を基準に選択してください。
トラブルシューティングチェックリスト

一度に1つの変数だけを切り分ける

まず失敗したタスクIDと時間範囲を記録し、ネットワーク、ディスク、署名、キャッシュ、同時実行の順に確認します。各手順の結果を保存し、環境の再インストールを繰り返さないようにします。

ネットワークと接続タイムアウトの調査

まずローカルネットワークからデバイスのポートに到達できることを確認し、DNS、プロキシ、SSHホストフィンガープリント、システム時刻を確認します。接続開始時刻、切断時刻、エラー原文を個別に記録してください。SSHは使えるのにVNCが使えない場合はグラフィカルセッションのプロセスを確認し、開発環境全体を先にリセットしないでください。

ssh -v user@host
ディスク容量不足またはアーカイブ書き込み失敗

次を使用して df -h / ボリュームの空き容量を確認し、DerivedData、依存キャッシュ、古いarchive、シミュレータデータを調べます。まず大きなディレクトリを特定し、明確に再生成できるキャッシュだけを削除してください。ビルド実行中に使用中のディレクトリを削除しないでください。

du -sh ~/Library/Developer/*
署名証明書または設定が一致しない

プロジェクトID、ビルド設定、書き出し方式、証明書の有効性、プロビジョニングプロファイルの対応を確認します。パイプラインが現在のタスクに必要な素材を注入していることと、システム時刻を確認してください。ログ提出時はエラー種別と照合手順を残し、証明書の内容、秘密鍵、トークンは隠してください。

security find-identity -v -p codesigning
依存キャッシュによるバージョンずれまたはコンパイル異常

まずロックファイルとログに記録された実際のバージョンを比較します。共有キャッシュなしの新しいタスクディレクトリでビルドし、問題が解消したらSwift Package、Pods、Ruby、DerivedDataのキャッシュを段階的に戻して汚染元を特定します。

swift package resolve
ビルドの同時実行によるリソース競合

同時実行中のxcodebuild、テスト、依存関係プロセスと、各タスクの出力ディレクトリを確認します。同時実行数を下げて再テストし、ピークメモリ、ディスク書き込み、所要時間を観察します。複数タスクでarchivePath、resultBundlePath、一時署名ディレクトリを共有しないでください。

ps -axo pid,%cpu,%mem,command
ノードと可用性

5つのノードすべてで2種類の専用物理マシンを提供

シンガポール、日本(東京)、韓国(ソウル)、香港、米国東部で365日安定稼働。カタログ上の組み合わせは通常注文できますが、実際の可用性はコンソールのリアルタイム表示を基準にしてください。

5つのノードにおけるMiniRents 2機種の一覧と選択ガイド
ノード 優先検討に適したチームの所在地 MiniRents M4 MiniRents M4 Pro 選択の目安
シンガポールSG 東南アジアのチームと近隣のコードリポジトリ 十分 十分 開発者からノード、リポジトリからノードへの接続安定性を優先して比較してください。
日本(東京)JP 日本と東アジアのチーム 十分 十分 コードリポジトリと協業メンバーが主に東アジアにあるワークフローに適しています。
韓国(ソウル)KR 韓国と近隣の東アジアチーム 十分 十分 選択前に実際のオフィスネットワークからSSHの安定性をテストできます。
香港HK 中国南部と東南アジアの協業チーム 十分 十分 複数のアジア拠点と連携するチームの比較検討に適しています。
米国東部US-E 北米東部と西ヨーロッパのチーム 十分 十分 リポジトリ、成果物サービス、主要メンバーが北米東部に近いワークフローに適しています。
01

まずインタラクティブ接続を確認

VNCを頻繁に使う場合は開発者からノードへの安定性を優先し、パイプラインだけで自動実行する場合はリポジトリと成果物サービスの場所を重視します。

02

次にデータの流れを確認

依存関係のダウンロード、リポジトリの取得、成果物のアップロードはいずれも回線を使用します。主なデータソースと実行ノードを、接続がより安定した経路上に配置してください。

03

移行はチケットで申請

現在のデバイスID、現ノード、移行先ノード、希望時間帯、移行理由を提出します。対応結果と以降の手順はコンソールのチケット記録を基準にしてください。

有人サポートへエスカレーション

ガイドで解決できない場合は、再現可能な問題記録を提出

技術的な問題には、デバイスと注文を関連付けられるコンソールのチケットを優先してください。コンソールにログインできない場合や、導入前、請求、セキュリティ、チーム展開について相談する場合はメールを利用できます。

コンソールチケット

接続切断、デバイス状態、ビルド環境、ノード移行、注文、請求の問題に適しています。チケットには現在のデバイスまたは注文を関連付け、再現に必要な情報を記載してください。

  • デバイスIDと現在のノード
  • 問題が発生した時間範囲
  • 実行手順と期待される結果
  • エラー原文とマスキング済みログ
  • 完了済みのトラブルシューティング項目
コンソールからチケットを送信

サポートメール

コンソールにログインできない場合、導入前の構成評価、チーム展開、セキュリティ報告、一般的な相談に適しています。件名に問題の種類を記載し、本文にパスワード、秘密鍵、完全なトークンを含めないでください。

  • 連絡先名と業務用メールアドレス
  • 相談内容と対象ワークフロー
  • 希望ノードとビルドの同時実行数
  • セキュリティ報告の再現手順と影響範囲
  • 請求に関する注文IDと追加項目
support@minirents.com
請求情報

請求に関する問い合わせでは4項目を明記

注文ID、レンタル期間、ノード、ストレージ拡張またはThunderbolt 5並列接続項目を記載してください。対応決済はUSDT-TRC20とVisa / Mastercard / Amex(Stripe)のみです。料金はすべて米ドル(USD)で決済され、利用可能なゲートウェイはバックエンドAPIの応答を基準とします。

ビルドを始める準備

専用クラウドMacを選び、最初のパイプラインを成功させる

2種類の機種、4つのレンタル期間、5つのノードから選択できます。専用物理マシンで仮想マシンではなく、開始価格は$21.5/日です。