Runner macOS self-hosted untuk GitHub Actions
Runner macOS self-hosted adalah Mac yang Anda kendalikan sendiri. Mac ini menjalankan job GitHub Actions Anda, bukan mesin cloud bersama milik GitHub. Anda mendaftarkan runner sekali, mengarahkan workflow ke sana, dan build Anda berjalan di hardware yang tetap hangat di antara job.
Mengapa tim meninggalkan runner macOS hosted
GitHub menagih runner macOS sekitar $0.062 sampai $0.102 per menit, kira-kira sepuluh kali tarif Linux. Harga itu wajar untuk build sesekali. Untuk tim yang merilis setiap hari, harganya mahal. Ada tiga hal yang berubah saat mesinnya milik Anda:
- Biaya tidak lagi naik mengikuti pemakaian. Mesin dengan harga bulanan tetap biayanya sama, entah Anda menjalankan 1.000 atau 20.000 menit.
- Cache tetap tersimpan. Cache DerivedData, CocoaPods, SwiftPM dan npm tetap ada di SSD lokal. Build inkremental pun melewati sebagian besar pekerjaan yang diulang runner baru.
- Lingkungannya stabil. Anda mengunci versi Xcode sekali. Anda tidak perlu menyesuaikan diri dengan update image hosted menurut jadwal orang lain.
Kekurangannya, terus terang saja
Self-hosting tetap punya kekurangan. Job berjalan satu per satu di satu mesin, jadi matrix paralel yang berat butuh lebih banyak unit. Anda bertanggung jawab atas keamanan runner jika Anda mem-build pull request yang tidak tepercaya. Karena itu GitHub menyarankan runner self-hosted untuk repository privat. Lalu harus ada yang mengurus update macOS, instalasi Xcode, dan menjaga layanan runner tetap hidup.
MacRun ada untuk mengambil alih bagian terakhir itu dari Anda. Anda mendapat mesin khusus dan harga tetap. Kami mengurus provisioning, pengawasan, dan penghapusan data.
Seperti apa perubahan workflow-nya
Mendaftarkan runner cukup dengan satu perintah, sekali saja. Setelah itu perubahan di pipeline hanya dua baris:
jobs: build: - runs-on: macos-latest + runs-on: [self-hosted, macOS, macrun-unit-01]
Semua yang lain tetap sama, termasuk step, secret, dan artifact yang sudah ada. Panduan lengkapnya ada di panduan setup.
Rakit sendiri atau sewa
Jika Anda sudah punya hardware Apple cadangan dan orang yang merawatnya, self-hosting di Mac sendiri adalah pilihan yang masuk akal. Jika Anda tidak mau membeli hardware, memasangnya, dan menjaga layanan runner, mesin sewaan khusus memberi hitungan biaya yang sama tanpa pekerjaan operasional. Hitung angka Anda sendiri di kalkulator biaya.
Pertanyaan yang sering diajukan
Apa itu runner macOS self-hosted?
+
Ini adalah Mac yang Anda kendalikan, yang menjalankan job GitHub Actions Anda alih-alih mesin hosted bersama milik GitHub. Anda memasang agen runner Actions, mendaftarkannya ke repository atau organisasi Anda, lalu menargetkannya dari workflow dengan label runs-on.
Apakah runner macOS self-hosted lebih murah dari yang di-hosting GitHub?
+
Tergantung volumenya. macOS hosted di GitHub berbiaya sekitar $0.062 sampai $0.102 per menit. Runner khusus dengan harga tetap $139 per bulan balik modal di sekitar 2,242 menit per bulan pada tarif terendah. Semua menit setelah itu gratis.
Apakah runner self-hosted aman untuk repository publik?
+
GitHub menyarankan runner self-hosted untuk repository privat. Alasannya, pull request dari fork bisa menjalankan kode tak tepercaya di mesin Anda. Jika Anda harus memakainya di repo publik, wajibkan persetujuan untuk workflow dari fork dan pisahkan runner dari apa pun yang penting bagi Anda.
Apakah saya harus menjaga layanan runner tetap berjalan?
+
Ya, runner harus online untuk mengambil job. Di MacRun, daemon pengawas memantau layanan itu. Jika layanan crash, daemon menyalakannya lagi dalam sekitar 30 detik, jadi Anda tidak perlu memantaunya.