Fastlane ile Deployment Otomasyonu 🤖
Manuel build almak ve Play Console'a dosya sürüklemek yerine, Fastlane kullanarak tüm süreci tek komuta indirebilirsiniz.
1. Kurulum
Fastlane, Ruby tabanlıdır. Projenizin kök dizininde (react-native projesi root'u):
2. Fastlane Başlatma
Android klasörüne gidin ve init yapın:
Size paket adını soracak ve android/fastlane klasörünü oluşturacaktır.
3. Google Play API Erişimi (Service Account)
Fastlane'in Google Play'e dosya yükleyebilmesi için bir Service Account JSON dosyasına ihtiyacı var.
- Google Cloud Console'u açın.
- IAM & Admin > Service Accounts > Create Service Account.
- Role olarak Service Account User verin.
- Oluşturulan hesaba tıklayın > Keys > Add Key > Create New Key > JSON.
- Dosyayı indirin ve projenizde
android/fastlane/api-key.jsonolarak kaydedin. (Bunu.gitignore'a ekleyin!) - Google Play Console > Users and permissions sayfasından bu email adresini davet edin ve Admin (veya Release Manager) yetkisi verin.
4. Fastfile Konfigürasyonu
android/fastlane/Fastfile dosyasını düzenleyin:
default_platform(:android)
platform :android do
desc "Build ve Google Play Internal Track'e yükle"
lane :internal do
# 1. Versiyon kodunu artır (Opsiyonel, plugin gerekir)
# increment_version_code(gradle_file_path: "app/build.gradle")
# 2. Temizle
gradle(task: "clean")
# 3. Release AAB al
gradle(
task: "bundle",
build_type: "Release",
properties: {
"android.injected.signing.store.file" => ENV["MYAPP_UPLOAD_STORE_FILE"],
"android.injected.signing.store.password" => ENV["MYAPP_UPLOAD_STORE_PASSWORD"],
"android.injected.signing.key.alias" => ENV["MYAPP_UPLOAD_KEY_ALIAS"],
"android.injected.signing.key.password" => ENV["MYAPP_UPLOAD_KEY_PASSWORD"],
}
)
# 4. Google Play'e yükle
upload_to_play_store(
track: "internal",
aab: "app/build/outputs/bundle/release/app-release.aab",
json_key: "fastlane/api-key.json",
skip_upload_metadata: true, # Metadata/screenshot güncellemeyecekseniz true yapın (hız kazandırır)
skip_upload_changelogs: true
)
# 5. Slack'e bildirim at (Opsiyonel)
# slack(message: "Android Release başarıyla yüklendi! 🚀")
end
end
5. Çalıştırma
Terminalden tek komutla deploy yapın:
[!TIP] Metadata Yönetimi: Fastlane ile uygulamanın başlığını, açıklamasını ve ekran görüntülerini de yönetebilirsiniz.
fastlane supply initkomutu ile mevcut Play Store verilerini çekebilir, localde düzenleyip pushlayabilirsiniz.