まずは実行記録で選ぶ
CircleCIの公式資料では、ジョブごとのCPU・メモリ使用状況を確認できます。リソースクラスの利用状況に関する説明にあるこの観測情報を起点に、CircleCI macOS executorのリソース階層選定を進めてください。チーム規模だけを理由に上位階層へ変えるのではなく、代表的なビルドの記録から資源不足を確認できた場合に限って変更を試します。
適しているケース: 代表的なiOS/macOSジョブの使用状況と所要時間を記録し、現行資源で不足しているか判断したい場合です。
適していないケース: 自社のホストを必ず管理する要件が先に決まっている場合です。リソース階層の選定とは分けて、自主管理環境を検討してください。
CircleCI管理者は、ワークフローに合う実行資源を設定したいときにご覧ください。
CIプラットフォームエンジニアは、ビルド記録をもとに資源の適合性を判断する際に役立ちます。
企業IT・技術責任者は、托管型の実行環境を続けるか、自主管理のMacビルド環境を評価するか検討できます。
リソース使用状況と階層の適合性
CircleCIのmacOS実行環境の設定資料と設定リファレンスを参照し、現在の設定で選択できるリソース階層、Xcodeの指定、アカウントへの適用条件を先に確認します。利用できる選択肢や挙動は更新される場合があるため、設定を変更する時点の公式資料を基準にしてください。
公式画面から確認できるリソース使用情報と、自社で採取する記録は混同しないようにします。前者はCircleCIが提供する観測情報、後者は工程別時間や実行条件を含むチーム独自の比較データです。データが一方しかない場合は、原因を断定せず不足している観測を補います。
| 判断対象 | 現行の階層を維持する目安 | 変更を試す目安 | 自主管理を評価する目安 |
|---|---|---|---|
| CPU・メモリ | 使用状況だけでは不足を示せない | 使用状況と遅い工程が繰り返し対応する | 必須のホスト制御を托管型で満たせない |
| ジョブ時間 | 遅延が依存取得など別工程にある | 条件をそろえた比較で実行資源が原因と考えられる | 環境構成や保守を自社の方針に合わせたい |
| 待ち時間 | キュー待ちが問題になっていない | 同時実行条件を確認しても個別ジョブの資源が課題 | 専用ホストや運用上の制御が必要 |
| 運用条件 | 現行環境で要件を満たせる | リソース変更で解消可能な制約がある | ネットワーク、署名、アクセス管理などを個別に検証したい |
表の判定は性能保証ではなく、調査の順番を決めるための目安です。資源の増加は並行実行の可否や待ち時間を自動的に改善するものではありません。
ジョブ時間と並行実行の切り分け
ジョブ全体の所要時間だけを比較すると、資源階層の効果を取り違えます。依存関係の取得、コンパイル、テスト、成果物の処理など、ワークフロー内の工程を分けて記録してください。CircleCIのInsightsの利用方法も参照しながら、同じワークフロー、コード状態、Xcodeなどのツールチェーンをそろえて比較します。
差が出た場合も、単発の成功・失敗で結論を出さず、条件を変えずに再度確認します。キャッシュの有無や依存取得先が異なれば、階層変更とは関係のない時間差が混ざります。Xcodeの設定がビルドに関係する場合は、Appleのビルド設定資料も確認し、試行間で設定をそろえてください。
また、待ち行列と実行中ジョブの遅さは別の問題です。CircleCIの並行実行の説明で対象プランや設定に適用されるルールを確認し、キュー待ちのトラブルシューティング資料に沿って待ち時間の発生箇所を調べます。単一ジョブに割り当てる資源を増やす判断と、利用できる並行実行を増やす判断は、別々に行ってください。
開始前の待ち時間が長い場合は、まずキューと並行実行の条件を確認してください。実行中のビルドが遅い場合は、工程別時間とリソース使用状況を照合します。症状を分けてから設定を変えると、効果のない変更を避けやすくなります。
運用要件とホスト管理の責任
托管型のmacOS executorは、実行ホストの用意や保守を自社だけで担わずにCIを運用したい場合に検討できます。一方、自主管理型ではホスト環境を自社の管理方針に合わせられる可能性がある反面、導入、更新、アクセス管理、障害時の対応も自社の運用範囲に入ります。CircleCIの自主管理Runnerの概要とmacOS machine runnerの導入資料を確認し、運用責任を含めて比較してください。
ネットワーク接続、証明書や署名の扱い、アクセス権、ビルド環境の分離などは、企業ごとの要件として実環境で検証します。これらが一般に満たされると決めつけず、必要な管理水準を文書化してから、托管型で満たせるかを判断してください。
試行記録から決めるチェック項目
次の項目を記録すれば、CircleCI macOS executorの選択理由をチーム内で追跡しやすくなります。
- [ ] 代表的なワークフローとコード状態を選び、比較条件をそろえます。
- [ ] 利用中のXcode設定とリソース階層を記録し、変更時点の公式資料で利用条件を確認します。
- [ ] CPU・メモリの使用状況を、CircleCIの画面で確認できる情報と自社の採取データに分けて残します。
- [ ] 依存取得、ビルド、テストなどの工程別時間と、ジョブ全体の所要時間を記録します。
- [ ] ジョブ開始前の待ち時間を調べ、並行実行やキューの問題と実行中の遅さを切り分けます。
- [ ] 資源階層を変更する場合は、変更前後で条件をそろえて再試行し、改善の有無を記録します。
- [ ] ネットワーク、署名、アクセス管理などの制約を確認し、托管型で満たせない要件がある場合に限り自主管理を評価します。
- [ ] 見直し条件と再確認の担当者を決め、設定変更後も記録を更新します。
使用状況に不足の根拠がなく、遅延が依存取得やキューに由来するなら、現在の階層を維持して該当工程を改善します。資源不足の兆候が繰り返し確認できた場合は、利用可能な階層とアカウント条件を確認したうえで変更を試します。自主管理は、ホスト制御や運用要件が托管型の範囲を超える場合に、別の判断として進めます。
よくある判断上の疑問
リソース階層はチームの人数に合わせて決めるべきですか。
人数ではなく、実際のジョブに必要な資源と並行実行の要件を分けて見ます。人数が多くても、ジョブがキューで待つ問題なら、個別ジョブの階層を上げるだけでは解決しません。代表的なワークフローの記録を判断材料にしてください。
ビルドが遅ければ、すぐに上位階層を試すべきですか。
まず工程別時間とリソース使用状況を照合してください。依存関係の取得やテスト設計が遅延の主因なら、資源階層の変更だけでは改善しない可能性があります。変更を試すときも、コードやツールチェーンなどの条件をそろえて比較します。
待ち行列が長いときは、より大きなリソース階層が必要ですか。
キュー待ちと、実行開始後の処理時間は異なる問題です。アカウントの並行実行条件やキューの状態を確認し、待ち時間の発生箇所を特定してから対応してください。単一ジョブの資源と、同時に実行できるジョブ数を同じ設定として扱わないことが重要です。
企業で自主管理のMacホストへ移行する判断基準は何ですか。
托管型で満たせないホスト管理、ネットワーク、アクセス制御などの要件があるかを確認します。該当する場合は、自主管理Runnerの導入要件だけでなく、更新や障害対応を担当できる体制も評価してください。要件を托管型で満たせるなら、管理責任を増やす必要があるかも含めて比較します。
次の試行とMac環境の選択
リソース階層の変更は、CPU・メモリの使用状況、工程別の所要時間、待ち行列のどれが課題かを記録してから行うのが安全です。変更後の差を同じ条件で確かめ、改善がなければ設定を戻して原因の調査を続けてください。
托管型の実行環境では、ホストの管理範囲やネットワーク条件を自社の要件に合わせにくい場合があり、キューの問題も単一ジョブの資源変更では解消できません。逆に、自主管理Macは環境を制御しやすい一方、保守や障害対応の担当が必要です。試行記録から専用のMac環境が必要と判断した場合は、まず企業向けMac構築環境のガイドで受け入れ条件を整理し、短期の検証環境が必要なら日本向けMacレンタルの利用条件も比較対象に加えてください。恒常的な重負荷や物理的な接続要件がある場合は、レンタルより自社保有が適することもあります。
よくある質問
CircleCIのmacOSジョブで、リソース階層はどう選べばよいですか?
まず、代表的なワークフローを選び、同じコード状態とツールチェーンでジョブを実行します。CPUやメモリの使用状況、各工程の所要時間、待ち行列を記録し、遅延の原因が実行資源にあるかを確認してください。根拠がない段階で上位階層へ変更せず、試行結果とアカウントで利用できる条件を照合して決めます。
macOSビルドの実行資源を増やす前に、何を確認すべきですか?
単にジョブ全体が遅いだけでは、資源不足とは判断できません。依存関係の取得、テスト、ビルドなどの工程別時間を分け、CPUやメモリの使用状況と照らし合わせます。コード、キャッシュ、Xcode設定などの条件をそろえた試行で改善を確認できなければ、資源階層の変更以外に原因がある可能性を調べます。
iOSのCIジョブでMacの実行資源が不足している兆候は何ですか?
リソース使用情報と工程別時間を組み合わせて確認します。CPUやメモリの使用状況が高い状態と、特定のビルド・テスト工程の遅延が一貫して現れるなら、資源変更を試す根拠になります。一方、開始前の待ち時間が中心なら並行実行やキューの問題かもしれません。単発の実行結果だけで判断しないでください。
企業が自主管理のMacビルドホストを検討するのはどんな場合ですか?
ホスト環境、ネットワーク、アクセス権、署名に関する要件を、托管型の実行環境で満たせるか確認したうえで検討します。要件を満たせない場合や、ホストの構成・保守を自社で管理する必要がある場合は、自主管理型を評価する理由になります。ただし、運用担当者の確保や更新・障害対応の責任も含めて比較してください。
ビルド負荷に合った専有Macを、UDPMacで
短時間の検証から継続的なビルドまで、UDPMacの3種類の構成から必要なメモリとストレージに合わせてお選びいただけます。
