Runner macOS hosted di GitHub vs Mac khusus, dihitung dengan jujur
Tarif per menit baru awal dari perbandingannya. Runner macOS hosted juga menagih Anda untuk pekerjaan yang tidak akan diulang mesin yang sudah hangat. Runner itu juga memakan waktu engineer di antrean. Halaman ini membandingkan kedua pilihan pada tiga tingkat pemakaian yang realistis, dengan semua asumsi ditulis jelas.
Asumsinya
- macOS hosted ditagih $0.062 per menit, tarif runner standar, dibulatkan ke atas per job.
- Runner hosted yang dingin menghabiskan sekitar 3 menit per job untuk memulihkan dependensi dan membangun ulang isi cache yang seharusnya tersimpan. Waktu itu ditagih.
- M6 mini khusus dengan harga tetap $139 sebulan, cache hangat, tanpa pemulihan per job.
- Waktu tunggu tidak ditagih GitHub, tapi tetap nyata. Antrean untuk runner macOS sering beberapa menit di jam sibuk.
Tiga tim, satu bulan
light steady heavy
jobs per month 120 400 900
minutes per job 8 10 12
billed on hosted 1,320 min 5,200 min 13,500 min
incl. cache restore (360) (1,200) (2,700)
hosted cost $82 $322 $837
dedicated M6 $139 $139 $139
monthly difference -$37 +$203 +$718Tim ringan (light) sebaiknya tetap di runner hosted. Tim stabil (steady) menghemat sekitar dua ratus dolar sebulan dan mendapat build yang lebih cepat. Tim berat (heavy) membayar harga beberapa mesin setiap bulan, dan mendapat mesin yang lebih lambat.
Dari mana menit tersembunyi itu datang
Setiap job hosted mulai dari image yang bersih. Job itu mengunduh ulang package SwiftPM, CocoaPods, dan bagian runtime simulator, lalu membangun DerivedData dari nol. Di proyek nyata, itu beberapa menit yang ditagih per job sebelum kode Anda mulai dikompilasi. Di mesin khusus, semua itu tetap tersimpan. Build kedua hari itu mulai dari titik terakhir build pertama.
Soal kecepatan, bukan hanya uang
Cache hangat yang menghapus menit tertagih juga memangkas waktu nyata. Tim yang memindahkan build hosted 12 menit ke Mac mini khusus dengan cache hangat sering melihatnya selesai dalam 4 sampai 6 menit. Tidak ada antrean di depannya. Itulah bedanya pull request yang sudah dicek sebelum makan siang dan yang baru dicek sesudahnya.
Yang tidak terselesaikan oleh Mac khusus
- Matrix paralel. Satu mesin menjalankan satu job dalam satu waktu. Pecah matrix-nya atau tambah unit.
- Repository publik. Jangan jalankan kode pull request yang tidak tepercaya di mesin yang penting bagi Anda. Biarkan job itu di runner hosted.
- Harus ada yang mengurusnya. Update, layanan runner, penghapusan data. Itu yang dikerjakan MacRun dengan harga tetap. Pada sewa mesin kosong, itu tugas Anda.
Hitung angka Anda sendiri di kalkulator, dan lihat tabel tarif lengkap di halaman harga GitHub Actions.
Pertanyaan yang sering diajukan
Apakah Mac khusus selalu lebih murah dari runner macOS hosted di GitHub?
+
Tidak. Di bawah sekitar 2,242 menit macOS sebulan, tagihan per menit lebih murah daripada mesin berharga tetap $139. Di atasnya, Mac khusus lebih murah, dan selisihnya makin besar seiring pemakaian.
Mengapa runner hosted menagih lebih banyak menit daripada durasi build saya?
+
Karena setiap job mulai dari image bersih. Job itu menghabiskan menit tertagih untuk memulihkan dependensi dan membangun ulang cache sebelum kompilasi. Mesin khusus yang hangat melewati pekerjaan itu di setiap job setelah yang pertama.
Seberapa cepat Mac mini khusus dibanding runner hosted?
+
Dengan cache hangat dan tanpa antrean, build hosted 12 menit biasanya selesai dalam 4 sampai 6 menit. Hasil pastinya tergantung seberapa banyak build Anda berisi pekerjaan dependensi dan cache.
Bisakah saya memakai keduanya sekaligus?
+
Bisa, dan banyak tim melakukannya. Jalankan build branch main dan sebagian besar pull request di Mac khusus. Biarkan matrix perangkat yang lebar dan job repository publik di runner hosted GitHub.