İçeriğe geç

Ürün belgelerimacOS sunucular

iOS CI/CD için macOS sunucu nasıl seçilir ve kurulur?

iOS derleme sunucusunun ihtiyaçları: Apple silicon, doğru macOS ve Xcode, yeterli CPU, bellek ve disk, masaüstü oturumunda çalıştırıcı ve kod imzalama.

  • İleri
  • 25 dk okuma
  • Güncellendi

Denendiği sistemler: macOS Sequoia 15, macOS Tahoe 26

Bu sayfada
  1. Kısa cevap
  2. 1. adım: macOS ve Xcode'u Apple'ın gereksinimlerine uydurun
  3. Apple silicon mı, Intel mi?
  4. 2. adım: Sunucuyu boyutlandırın
  5. 3. adım: Mac'i hazırlayın
  6. 4. adım: CI çalıştırıcısını kurun
  7. 5. adım: Uzak bir Mac'te kod imzalama
  8. Diski sağlıklı tutun
  9. Sorun giderme
  10. Sonraki adımlar

iOS ve macOS uygulamaları için sürekli entegrasyon gerçek bir Mac gerektirir: Xcode yalnızca macOS'ta çalışır ve macOS yalnızca Apple donanımında çalışır. Veri merkezindeki uzak bir Mac ayrıca kararlı bir bağlantı, webhook'lar ve izin listeleri için sabit bir IP adresi ve kimsenin gece kapatmadığı bir bilgisayar sağlar. Bu rehber sürümleri, boyutlandırmayı, çalıştırıcıyı ve kod imzalamayı ele alır.

Kısa cevap

App Store derlemeleri için Apple'ın şu anda istediği Xcode'u çalıştıran bir macOS sürümüne sahip Apple silicon bir Mac seçin. İki Xcode sürümü ve simülatörleri için yeterli bellek ve disk verin, UI testleri için oturum açılmış bir masaüstü tutun ve imzalama gizli bilgilerini deponuzun dışında saklayın.

1. adım: macOS ve Xcode'u Apple'ın gereksinimlerine uydurun

  1. Bugünkü yükleme kuralını kontrol edin. 28 Nisan 2026'dan beri App Store yüklemeleri Xcode 26 veya sonrasıyla derlenmelidir.
  2. Bir sonraki son tarihi planlayın. Apple, 27 SDK'larının Nisan 2027'den itibaren zorunlu olacağını duyurdu. O zaman ihtiyacınız olacak Xcode'u not edin.
  3. Xcode'un ihtiyaç duyduğu macOS'u Apple'ın Xcode sistem gereksinimleri sayfasında bulun. Örneğin Xcode 27, macOS Tahoe 26.6 veya sonrasını ve Apple silicon bir Mac'i gerektirir.
  4. Bunu sunan bir plan seçin. Sipariş formumuz her macOS planı için macOS sürümlerini listeler; Apple Silicon macOS VPS planları talep üzerine hazırlanır.

Apple silicon mı, Intel mi?

macOS Tahoe 26, Intel tabanlı Mac'ler için son macOS sürümüdür; macOS 27 ve güncel Xcode sürümleri Apple silicon gerektirir. Intel Mac'ler eski macOS sürümlerini veya x86_64 derlemelerini test etmek için hâlâ işe yarar, ama yeni bir App Store derleme sunucusu Apple silicon olmalıdır. Apple silicon'da derlemeler doğal olarak çalışır ve Xcode arm64 simülatör çalışma zamanlarını indirir; bu da disk alanından tasarruf sağlar. Apple Virtualization çatısı macOS konukları için iç içe sanallaştırma sunmadığından Apple Silicon macOS VPS içinde başka sanal makine çalıştıramazsınız; bunun için bir macOS VDS seçin.

2. adım: Sunucuyu boyutlandırın

KaynakBaşlangıç noktasıNeden
CPU8 veya daha fazla çekirdekDaha kısa temiz derlemeler ve paralel test çalıştırmaları
Bellek16 GB, paralel simülatörler için 32 GBXcode, derleyici ve her simülatör kendi payına ihtiyaç duyar
Disk100 GB veya daha fazla boş alanİki Xcode sürümü, çalışma zamanları, DerivedData, arşivler
macOSGereken Xcode'un desteklediği bir sürümApple'ın Xcode sistem gereksinimleri
ErişimSSH artı grafik oturumKurulum, UI testleri ve anahtar zinciri istemleri için Ekran Paylaşımı
AğKararlı bağlantı ve sabit IP adresiWebhook'lar, izin listeleri, bağımlılık indirmeleri

Bunlar genel kurallardır: büyük projeler ve paralel işler daha fazlasını ister. Kendi derlemelerinizi ölçün.

3. adım: Mac'i hazırlayın

macOS sunucuda ilk adımlar rehberindeki gibi bağlanın, ardından:

Bash
sudo xcode-select -s /Applications/Xcode-26.app
xcodebuild -version
sudo xcodebuild -runFirstLaunch
sudo pmset -a sleep 0

Doğrulama: xcodebuild -version beklenen sürümü yazdırır ve pmset -g sleep 0 gösterir.

UI testleri için çalıştırıcının oturum açılmış bir masaüstü oturumuna ihtiyacı vardır: oturumun yeniden başlatmadan sonra geri gelmesi için Sistem Ayarları › Kullanıcılar ve Gruplar altında Otomatik olarak giriş yap ayarını açın (FileVault açıkken kullanılamaz).

4. adım: CI çalıştırıcısını kurun

  • Xcode Cloud, Apple'ın barındırdığı CI'dır ve sunucu gerektirmez.
  • GitHub Actions, GitLab Runner ve Jenkins kendi barındırdığınız macOS çalıştırıcılarını destekler; resmî kurulum rehberlerini izleyin ve çalıştırıcıyı deponuza veya grubunuza kaydedin.
  • fastlane bunların hepsinde derleme, test, imzalama ve yükleme adımlarını otomatikleştirir.

UI testlerinin ve anahtar zinciri erişiminin çalışması için çalıştırıcıyı yalnızca arka plan servisi olarak değil, oturum açılmış oturumda bir kullanıcı ajanı olarak çalıştırın.

5. adım: Uzak bir Mac'te kod imzalama

  1. Bir App Store Connect API anahtarı kullanın. App Store Connect'te bir ekip anahtarı oluşturun ve CI gizli bilgilerinizde saklayın. Apple özel anahtarı yalnızca bir kez indirmenize izin verir.
  2. Sertifikaları deponun dışında tutun. Sertifikaları ve profilleri şifreli saklayın, örneğin fastlane match ile, ya da CI gizli bilgilerinden içe aktarın.
  3. Her iş için geçici bir anahtar zinciri kullanın; başta oluşturun, sonda silin:
Bash
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
security set-keychain-settings -lut 21600 build.keychain
security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
security import signing.p12 -k build.keychain -P "$P12_PASSWORD" -T /usr/bin/codesign
security list-keychains -d user -s build.keychain login.keychain
security set-key-partition-list -S apple-tool:,apple: -s -k "$KEYCHAIN_PASSWORD" build.keychain

İşin sonunda:

Bash
security delete-keychain build.keychain
  1. Xcode'un otomatik imzalamasına izin verin. xcodebuild, oturum açılmış bir Apple hesabı olmayan bir makinede API anahtarını kullanabilir:
Bash
xcodebuild -scheme MyApp -configuration Release -archivePath build/MyApp.xcarchive archive -allowProvisioningUpdates -authenticationKeyPath "$ASC_KEY_PATH" -authenticationKeyID "$ASC_KEY_ID" -authenticationKeyIssuerID "$ASC_ISSUER_ID"
  1. Döndürün ve iptal edin. Sızmış olabilecek anahtarları iptal edin ve imzalamaya kimlerin erişimi olduğunu düzenli olarak gözden geçirin.

Diski sağlıklı tutun

Artık ihtiyacınız olmayan Xcode sürümlerini kaldırın, kullanılamayan simülatörleri xcrun simctl delete unavailable ile silin ve eski DerivedData'yı düzenli temizleyin. Apple'ın bir sonraki son tarihinden önce bir sonraki Xcode için yer planlayın.

Sorun giderme

errSecInternalComponent veya takılan imzalama istemleri. Anahtar zinciri kilitli ya da bölüm listesi eksik. Kilidi açın ve yukarıdaki gibi set-key-partition-list çalıştırın.

UI testleri yalnızca CI'da başarısız oluyor. Çalıştırıcının grafik oturumu yok. Onu oturum açılmış kullanıcı oturumunda çalıştırın ve otomatik oturum açmayı açık tutun.

"No space left on device". Simülatörleri, DerivedData'yı ve arşivleri temizleyin; bkz. macOS VPS ve VDS.

Sonraki adımlar

Sık sorulan sorular

iOS uygulamalarını Linux veya Windows sunucuda derleyebilir miyim?

Hayır. Xcode ve iOS SDK yalnızca macOS'ta çalışır ve macOS yalnızca Apple donanımında çalışır. Linux sunucular aynı süreçte arka uç servisleri, Android derlemeleri ve çıktı depolama için yine işe yarar.

Derleme sunucum hangi macOS sürümünü çalıştırmalı?

Apple'ın Xcode sistem gereksinimleri sayfasında listelendiği gibi, ihtiyacınız olan Xcode'un desteklediği bir sürüm. Derlemelerin tekrarlanabilir olması için tüm derleme makinelerinde sürümü aynı tutun.

Bir derleme sunucusunun ne kadar disk alanına ihtiyacı var?

Tek bir süreç için en az 100 GB boş alan planlayın. Xcode, simülatör çalışma zamanları, DerivedData ve arşivler hızla büyür; Apple'ın yıllık son tarihlerinde iki Xcode sürümünü yan yana tutmanız gerekebilir.

CI için grafik oturum gerekli mi?

Komut satırı derlemeleri için SSH yeterlidir. UI testleri, Simülatör ve bazı anahtar zinciri istemleri oturum açılmış bir grafik oturum gerektirir; otomatik oturum açmayı ayarlayın ve kurulum için Ekran Paylaşımı kullanın.

Xcode Cloud mu, kendi uzak Mac'im mi?

Xcode Cloud, Apple Developer Program kapsamında aylık işlem saati kotasıyla gelen, Apple'ın barındırdığı CI'dır. Kendi Mac'inizdeki çalıştırıcı araç zincirinin tam kontrolünü, kalıcı önbellekleri ve dakika başı ücret olmamasını sağlar. Birçok ekip ikisini birlikte kullanır.

Birden fazla proje tek bir derleme sunucusunu paylaşabilir mi?

Evet; sunucunun aynı anda çalışan işler için yeterli çekirdeği, belleği ve diski varsa. Paralel işleri sınırlayın, her iş için geçici bir anahtar zinciri kullanın ve her projenin Xcode sürümünü yan yana kurulu tutun.

Kaynaklar

Şifre Oluştur

Lütfen onaylayın