Rehber
Mac mini'de self-hosted GitHub Actions runner
Size özel bir Mac mini'de self-hosted GitHub Actions runner kurun. Xcode'u yükleyin, runner'ı kaydedin, servis olarak çalıştırın, build'leri hızlı ve gizli tutun.
30 dakika, güncelleme: 2026-09-15
GitHub'ın barındırdığı macOS runner'ları paylaşımlı makinelerdir. Yoğun saatlerde kuyruğa girer, her seferinde soğuk başlar ve dakika başına faturalanır.
Kendi Mac mini'nizdeki bir self-hosted runner hemen başlar, önbelleklerini build'ler arasında korur ve her ay aynı tutar.
Bu rehber yaklaşık otuz dakika sürer. İhtiyacınız olanlar:
- Apple silicon ve SSH erişimi olan bir Mac mini
- GitHub deposunda ya da organizasyonunda yönetici yetkisi
- Xcode'u indirmek için bir Apple ID
1. Mac'i hazırlayın
SSH ile oturum açın ve Mac'in uyku moduna geçmesini engelleyin:
sudo pmset -a sleep 0 disksleep 0 displaysleep 0Homebrew'u kurun:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Runner için ayrı bir kullanıcı öneririz, böylece build'ler hiçbir zaman yönetici hesabınızla çalışmaz:
sudo sysadminctl -addUser runner -fullName "CI Runner" -password -Aşağıdaki adımlar için o kullanıcıyla oturum açın.
2. Xcode'u kurun
SSH üzerinden en basit yol `xcodes`:
brew install xcodesorg/made/xcodes
xcodes install --latest
xcodes selectLisansı kabul edin ve ilk açılışı tamamlayın:
sudo xcodebuild -license accept
xcodebuild -runFirstLaunch
xcodebuild -downloadPlatform iOS3. Runner'ı kaydedin
GitHub'da deponuzu açın, ardından Settings, Actions, Runners, New self-hosted runner. macOS ve ARM64'ü seçin.
GitHub, güncel sürümü ve bir token'ı içeren tam komutları gösterir. Şuna benzerler:
mkdir actions-runner && cd actions-runner
curl -o actions-runner-osx-arm64.tar.gz -L <download URL from GitHub>
tar xzf ./actions-runner-osx-arm64.tar.gz
./config.sh --url https://github.com/<owner>/<repo> --token <token>Token bir saat sonra geçersiz olur, bu yüzden hemen kaydedin. `config.sh` etiket sorduğunda, iş akışlarında kullanacağınız etiketleri ekleyin, örneğin `xcode` ya da `m4`.
4. Servis olarak çalıştırın
./svc.sh install
./svc.sh start
./svc.sh statusRunner artık kullanıcı oturumuyla birlikte başlar. İşleriniz UI testleri çalıştırıyorsa ya da oturum açma anahtar zincirine ihtiyaç duyuyorsa, Sistem Ayarları'nda Kullanıcılar ve Gruplar bölümünden runner kullanıcısı için otomatik oturum açmayı etkinleştirin. Bunu Ekran Paylaşma üzerinden yapabilirsiniz. FileVault açıkken otomatik oturum açma kullanılamaz.
5. Bir iş akışında kullanın
name: iOS build
on: [push]
jobs:
build:
runs-on: [self-hosted, macOS, ARM64]
steps:
- uses: actions/checkout@v4
- name: Build
run: xcodebuild -scheme MyApp -destination 'generic/platform=iOS Simulator' buildBir commit push'layın. İş, Actions altında görünür ve saniyeler içinde Mac'inizde başlar.
6. Sağlıklı tutun
- Yalnızca özel depolar. Herkese açık bir depoda, bir fork'tan gelen pull request Mac'inizde kod çalıştırabilir. GitHub, herkese açık depolarda self-hosted runner kullanılmamasını tavsiye eder.
- Arada bir temizlik yapın. DerivedData ve eski simülatörler zamanla büyür:
rm -rf ~/Library/Developer/Xcode/DerivedData
xcrun simctl delete unavailable- İmzalama. Sertifikaları ayrı bir anahtar zincirinde tutun ya da fastlane match kullanın.
- Güncellemeler. Runner varsayılan olarak kendini günceller. Xcode'u bir sürüm çıkarmanın ortasında değil, kendi planınıza göre güncelleyin.
Neden size özel bir Mac mini
- Üzerinde başka kimse yok. Build'ler push'ladığınız anda başlar.
- Sıcak önbellekler. DerivedData, Swift paketleri ve CocoaPods diskte kalır, bu yüzden artımlı build'ler çok daha hızlıdır.
- Gerçek çipler. Kullanıcılarınızın sahip olduğu Apple silicon üzerinde test edin.
- Tek, sabit bir aylık ücret. Dakika başına faturalama yok, yoğun bir sprintin sonunda sürpriz yok.
MacDuty, M1'den M6'ya kadar Mac mini'leri AB'deki kabinlerinde, macOS kurulu olarak barındırır. SSH anahtarınızı müşteri panelinden ekleyin.
Bugün stokta
Bunlar şu anda kabinde. Birini seçin, neyle geldiğine bakın ve hesabınızı yalnızca sipariş verirken oluşturun.
Kabinler kontrol ediliyor
Size ait bir Mac mini
Bir yapılandırma seçin. Stokta yoksa e-postanızı bırakın, kabine girdiği gün size yazalım.
Yıllık: aylık ödemeye göre en az %19 daha az
Sıradaki