Mobil Uygulamaların Azure DevOps ile Dağıtımı için App Center Yerine Firebase Kullanımı
Bu yazımızın amacı mobil cihazlarda kullanılan apk ve ipa dağıtımlarında kullandığımız App Center teknolojisinin yerine Firebase teknolojisinin Azure DevOps ile nasıl kurulacağı ve bu teknolojinin nasıl kullanılacağının hizmet etmesidir.
Bu yazımızda App Center teknolojisinin nasıl kurulduğu ve kullanıldığı anlatılmayacak. Fakat dilerseniz App Center için aşağıdaki yazımıza bakabilirsiniz.
Sekme: Azure DevOps Pipeline — App Center Entegrasyonu
Peki neden App Center teknolojisini terk etme kararı aldık? Çünkü App Center, 31 Mayıs 2025 tarihi ile emekliye ayrılıyor.
Dolayısıyla alternatif dağıtım kanalı arayış serüvenimiz başladı. Burada da alternatif kanal ararken birkaç kriterimiz vardı. Bunlar;
- Azure DevOps süreçlerine bu yeni dağıtım kanalının kolayca adapte olması
- Bu yeni dağıtım kanalının ücretsiz olabilmesi
- Şirket içerisinde testlerde kolayca kullanılabilecek bir arayüze sahip olması
Not: Tabii ki Firebase teknolojisi dışında alternatif olarak kullanabileceğiniz birçok kanal var. İletişime geçerseniz alternatif kanalları da iletebiliriz.
Yukarıdaki kanal arayışlarımızda Firebase’i deneme fırsatımız oldu. İlk olarak Azure DevOps’a entegre etmeden manuel olarak var olan ipa ve apk üzerinden deneme yaptık.
Firebase App Distrubition Kurulum
Ön Gereksinim: Firebase üzerinde bir projenizin olması
Aşağıdaki gibi ilk önce Firebase’deki projeniz üzerinden Release & Monitor sekmesinden App Distribution adımını seçiyorsunuz. Aşağıdaki gibi bir sayfa sizleri karşılıyor. Burada ‘’Get started’’ diyerek başlıyoruz.
İkinci adımda seçtiğiniz iOS / Android çeşidine ve ortam tipinize (Biz iOS Prod uygulamamızın ismini seçtik) göre ipa veya apk alana sürükleyip bırakıyorsunuz. Azure DevOps’a Firebase’i kurmadan sadece manuel olarak dağıtacağınız süreç bu kadar.
IPA’yı sürekledikten sonra göndermek istediğiniz adreslere veya gruplara gönderme işlemini yapabilirsiniz.
Not: Tabii ki uygulamanızın nasıl imzalandığı (development, adhoc, app store) burada önemli. Çünkü bunu yükleyecek kişilerin cihazlarının imzalanma durumuna göre Apple Developer Portal üzerinden ayarlamanız gerekir. Fakat o konu bu yazının konusu değil. Fakat her konuda desteğe açığız.
Davet gönderildikten sonra aşağıdaki gibi bir mail alıyorsunuz. Bunu mobil cihazınızdan açarak size bir adet Firebase profile’ını kurmanızı istiyor. Zaten nasıl kurulacağını anlatıyor, o yüzden detaylandırmıyoruz. İndirilen profili yükledikten sonra aslında işiniz bitiyor.
Profili indirip yükledikten sonra telefonunuza zaten şu şekilde yeni bir kısayol (web sitesine yönlendiren) kurulmuş oluyor. Buradan aslında sürümlerimizi indirebiliyoruz.
Firebase Azure Pipeline Entegrasyonu
Ön gereksinim: Firebase (kurulu proje ile), Azure Devops & Azure Pipeline
Konunun en can alıcı bölümüne hoş geldiniz. Şimdi sürekli manuel bir şekilde apk/ipa dosyasını sürekle bırak yapmayacağız heralde. :) Burada daha önceki yazımızda bahsettiğimiz Azure DevOps pipeline dosyamıza (.yaml ile biten) gidip App Center kodlarını kaldırıp yerine Firebase entegrasyonunu kuracağız.
Burada yapmamız gereken işlem, makinemiz (agent) üzerine deploy olan ipa veya apk dosyamızı alıp firebase konfigürasyonlarını yapıp firebase’e deploy etmek olacak. Yaml üzerinde Firebase konfigürasyonu için toplamda 2 adet task var.
- task yazan kısım firebase aracını agent makinemize yüklüyor.
Not: Aslında yükledikten sonra bir daha olmasına tekrar tekrar gerek yok. Tek seferlik install işlemi yeterli olacak. Sonrasında kaldırabilirsiniz.
2. task yazan kısım ise firebase bağlantısının kurulup, çıkan ipa dosyasının firebase’e yüklenmesi.
a. Peki APP_ID nedir ? Nasıl bulunur ?
Bunun için Firebase’e gidiyoruz. Projemiz üzerinden ayarlar sayfasına gidiyoruz. App Id bölümündeki yazıyı kopyalayıp pipeline’daki AppID kısmını silip oraya yazıyoruz.
b. Peki Firebase Token nedir ? Nasıl bulunur ?
Ön Gereksinim: Install Firebase tools yaml üzerine eklenmiş olması ve bu şekilde ilk 1 kez çalıştırılmış olması gereklidir.
Daha sonrasında Agent’a yüklenmiş olan firebase aracından dolayı Mac üzerinden Terminal uygulamasını açıyoruz. Terminal üzerinde aşağıdaki komutu uyguluyoruz. Success! ifadesinin altındaki yer bizim FIREBASE_TOKEN’ımız.
Not: Agent üzerinde teriminal’i kapatmıyoruz ki session açık kalsın. Çünkü her seferinde bu token yenilenecek.
firebase login:ci
Bizler FIREBASE_TOKEN’ı doğrudan “tokenifadesi” yazmak yerine Azure DevOps üzerindeki Library sekmesinde adminler tarafından yönetilen gizli şifreler bölümünde tutuyoruz. Bu şekilde tuttuğunuzda “$(FIREBASE_TOKEN)” şeklinde pipeline’a eklemiş oluyoruz. Sizler dilediğiniz gibi bu token’ı saklayabilirsiniz.
Evet işlemlerimizin sonuna geldik. Artık Yaml dosyamızda firebase’e deploy edebilecek kodumuz da var. Hadi çalıştıralım;
Bu yukarıdaki üstü çizilen adımda zaten firebase’e atamaz ise size hatanın sebebini söylüyor. Örnek;
Farklı hatalarla karşılaşırsanız da yardıma her zaman açığız. Bir yazımızın daha sonuna geldik. Sağlıkla kalın…
Referanslar:
Connected Products & Engineering Tribe
Mobile Chapter Team Member
Arda DİNLER — iOS Developer