macOS runnerのコストとは?なぜAppleのCIは最も高価な1分なのか
macOS runnerのコストとは、Appleハードウェア上でCIを実行する際の1分あたりの価格であり、群を抜いて最も高価なオプションです - Linuxの1分のおよそ10倍です。
CIの請求額が驚くほど高い場合、macOS runnerが有力な容疑者です。iOSおよびmacOSのbuildにはAppleハードウェアが必要ですが、これは希少でライセンス制のため、プロバイダーは高い割増料金を請求します。わずかなmacOSのCIが、それ以外は安価なpipelineを支配してしまうことがあります。
macOSがどれだけ高いか
GitHub Actionsでは、macOSの1分はLinuxの1分のおよそ10倍の割当を消費します。Linux 2-coreが約$0.008/minであるのに対し、macOSは1分あたり数セントの範囲になります。20分のmacOS buildは、数時間分のLinux CIと同じくらいのコストになり得ます。
なぜこれほど高価なのか
Appleのライセンスは、macOSをAppleハードウェア上で実行することを要求します。プロバイダーは汎用のクラウドVMを立ち上げるのではなく、そのハードウェアを購入し、ホストし、保守しなければなりません。そのハードウェアの希少性とライセンスの割増料金が、1分あたりの料金に直接反映されます。
無料枠への影響
約10倍の倍率のため、macOSは含まれる分数を10倍速く消費します。2,000分の無料枠はmacOSの時間ではわずか約200分に相当するため、モバイルチームはほぼ即座に超過に達します。
macOSのコストが潜む場所
- コミットごとに実行される長いXcode buildとシミュレータの起動。
- 複数のOSバージョンにまたがるmatrixの各leg。それぞれがmacOSの割増料金で課金されます。
- Linuxの再実行コストの10倍で再実行される不安定なシミュレータテスト。
macOS支出を最小化する
本当にmacOSを必要とするjobだけをmacOSで実行し - linting、ユニットテスト、Apple以外のbuildはLinuxに保ちましょう。積極的にcacheし、冗長なmatrixのlegを削減し、不安定なシミュレータテストを安定させることで、割増料金を二重に支払わないようにします。
より安価なAppleのCI
cacheと自己修復は、1分が最も高価な場所で最も重要になります。不安定なmacOSの再実行を回復させることは、Linuxの再実行を回復させる場合の10倍を節約するため、ウォームプールと自己修復を備えたプラットフォームはAppleのCIで最も早く効果を発揮します。
重要なポイント
- macOS runnerはLinuxの1分のおよそ10倍のコストがかかります。
- Appleのライセンスが実際のAppleハードウェアを強制し、割増料金を生みます。
- macOSはLinuxより約10倍速く無料枠を消費します。