CPUとメモリを専有
他のお客様がこのマシンでコンパイル、テスト、推論を実行することはありません。ビルドプロセスはマシン上のリソースを使用し、他のお客様の処理とCPUやメモリを奪い合うこともありません。
同じノードで実行する並列タスクの数は、お客様のrunnerとビルドスクリプトで制御できます。
OSXBuildでは、仮想マシンではなく物理マシンを1台まるごとご利用いただけます。CPU・メモリ・ディスクを他のお客様と共有することはありません。署名証明書、ソースコード、ビルド成果物の保存場所やアクセス権、エクスポート方法はお客様が管理できます。
まず隔離方式を確認してから、署名とアクセス権を設定してください。秘密鍵やパスワードをサポートチケットに記載しないでください。
専有するのは物理ノードです。共有ホスト上のタスク枠ではありません。契約期間中、Mac mini 1台をお客様のワークロード専用でご利用いただけます。
他のお客様がこのマシンでコンパイル、テスト、推論を実行することはありません。ビルドプロセスはマシン上のリソースを使用し、他のお客様の処理とCPUやメモリを奪い合うこともありません。
同じノードで実行する並列タスクの数は、お客様のrunnerとビルドスクリプトで制御できます。
ソースコード、DerivedData、依存関係のキャッシュ、エクスポートしたIPAは、お客様のノードに保存されます。他のお客様のタスクによって上書きされることはなく、署名ファイルを共有ビルドキューに預ける必要もありません。
キャッシュはバックアップではありません。重要な成果物や復旧用データは、別途保管してください。
マシンの専有により、お客様同士のリソースを分離できます。チーム内のアクセス権はプロジェクトごとに設定してください。通常のビルドには専用ユーザーと専用鍵を使い、管理者の認証情報をパイプラインに記載しないでください。
macOSのGUIとコマンドラインを利用でき、アクセス範囲はお客様が設定できます。
マシン内のコードとビルド成果物はお客様の所有物であり、当社が業務上の内容を閲覧することはありません。トラブルシューティングの際は、必要なエラー箇所だけをお送りください。送信前にトークン、署名データ、プロジェクトの機密情報を削除してください。
前のお客様の作業ディレクトリを、そのまま次のお客様に引き渡すことはありません。回収時にはディスクを安全に消去し、OSを再インストールします。
契約終了前に、必要なソースコード、IPA、設定、署名の復旧用データをエクスポートしてください。他の環境でファイルを読み込めることも確認しましょう。「コピーコマンドを実行した」ことだけで完了と判断しないでください。
契約期間の終了後、ノードの回収時にディスクを安全に消去します。回収処理は一時保管サービスではありません。契約終了後もファイルを取り出せる保管場所として、ノードを利用しないでください。
OSの再インストールが完了してから、次のお客様にノードを引き渡します。プロジェクトのディレクトリ、ビルドキャッシュ、署名資産が次のお客様の初期環境に残ることはありません。
バックアップの確認をプロジェクトの引き継ぎリストに含め、ノードで不要になったリポジトリへのアクセス権、runnerの登録、配布トークンも取り消してください。マシンのディスクを消去しても、外部システムで有効な権限は自動では取り消されません。
ビルドタスクには、リリースに必要な最小限の権限だけを付与しましょう。目立たないディレクトリにファイルを隠すより、次の3つの対策が効果的です。
ビルドユーザー用のキーチェーンを作成してください。署名の直前だけロックを解除し、パイプラインの終了後に再度ロックします。タスクが失敗した場合もクリーンアップを実行し、異常終了後もキーチェーンが使える状態のままにならないようにしてください。
ロック解除パスワードは管理された認証情報ストアから読み込み、コマンドの引数に含めて表示しないでください。
App Store Connectへの成果物のアップロードには、タスクに必要な権限を満たすAPIキーを使用し、自動化スクリプトにアカウントのパスワードを保存しないでください。キーのファイルはプロジェクトコードとは分けて保管し、ローテーション時にはビルド設定も更新してください。
キーの内容をログ、ビルド成果物、エラーのスクリーンショットに記録しないでください。
秘密鍵を含む.p12ファイルをコミットしないでください。エクスポート用パスワードも同じリポジトリに保存しないでください。Fastlane matchを使用する場合は、暗号化データと復号用認証情報を別々に管理し、署名用リポジトリへのアクセスを制限してください。
誤ってコミットした場合は、証明書の失効と鍵のローテーションを検討してください。現在のファイルを削除するだけでは、履歴から消えません。
以下はキーチェーンのパスの例です。実際の名前に置き換え、パイプラインの終了処理にも同じクリーンアップを追加してください。
security lock-keychain "$HOME/Library/Keychains/build.keychain-db"
コンソールのログイン情報とノードへのログイン鍵は、役割が異なります。使い回さず、それぞれの権限が不要なタスクに共有しないでください。
コンソールには専用のパスワードを設定し、ログインや認証メールを受け取るメールアカウントも保護してください。信頼できるデバイスからのみログインし、他の人から転送されたページで認証情報を入力しないでください。
引き渡し情報、注文状況、関連する操作履歴はコンソールで確認できます。想定外の変更が見つかった場合は、注文番号と発生時刻を記録してからサポートチケットを送信してください。認証情報をそのまま添付しないでください。
SSH公開鍵でログインし、秘密鍵は管理されたローカルデバイスまたはCIの認証情報ストアに保管してください。メンバーごと、パイプラインごとに別の鍵を使えば、個別に失効できます。追跡できない秘密鍵を使い回さないでください。
鍵で接続でき、復旧用のアクセス手段も確保できてから、パスワードログインやポートの設定を変更してください。メンバーがチームを離れたときやrunnerを廃止したときは、該当する権限を速やかに削除してください。
各リリースにコミット、パイプライン番号、成果物のバージョンを関連付け、ビルドログを閲覧できる範囲も制限してください。サポートを依頼する場合は、エラー発生時刻とログ末尾の関連箇所を残し、環境変数、アクセストークン、認証情報を含むリポジトリURLを削除してください。
すべての注文は米ドル(USD)で決済されます。お支払いには以下の2種類をご利用いただけます。実際に利用可能な決済ゲートウェイは、バックエンドの応答をご確認ください。
クレジットカード決済はStripeが処理し、OSXBuildがカード番号を保存することはありません。注文記録には納品と照合に必要な決済状況のみを保存し、サポート資料としてカード番号を収集することもありません。
決済に問題がある場合は、注文番号、決済時刻、ページに表示されたエラーメッセージをお知らせください。
決済ページにその時点で表示されている情報のみを使用してください。送金前にネットワーク、金額、送金先を確認しましょう。過去のスクリーンショットや他の人から届いたメールのアドレスを、現在の注文ページの代わりに使用しないでください。
決済の照合を依頼する場合は取引IDをお知らせください。ウォレットの秘密鍵や復旧用データは送らないでください。
請求書、更新、決済結果はコンソールで確認できます。決済の調査を理由にカード番号全桁、セキュリティコード、秘密鍵を求められても、決して共有しないでください。
セキュリティ報告、権限の異常、認証情報の漏えいが疑われる場合は、サポートメールまたはログイン後のコンソールからチケットを送信してください。専用のセキュリティ報告用メールアドレスはありません。
まだ注文していない場合やログインできない場合はメールをご利用ください。注文済みの問題は、ノードや引き渡し情報を紐付けられるため、チケットの送信をおすすめします。
support@osxbuild.com
鍵が漏えいした疑いがある場合は、関連する権限を取り消して認証情報をローテーションしてから、報告してください。検証にはアクセス権のあるリソースのみを使用し、他のお客様のデータを閲覧したり、破壊的なテストを行ったりしないでください。
ノードは1台まるごと専有し、署名資産はお客様が管理します。構成を選び、鍵、バックアップ、回収時の確認事項をビルドフローに組み込みましょう。