Canlı sitenize dağıtmadan önce değişikliklerinizi görmek ve test etmek isteyebilirsiniz. Firebase Hosting, değişiklikleri yerel olarak görüntüleyip test etmenize ve emüle edilmiş arka uç proje kaynaklarıyla etkileşim kurmanıza olanak tanır. Ekip arkadaşlarınızın değişikliklerinizi görüntüleyip test etmesi gerekiyorsa Hosting, siteniz için paylaşılabilir, geçici önizleme URL'leri oluşturabilir. Hatta pull isteğinden dağıtım için GitHub entegrasyonunu da destekliyoruz.
Başlamadan önce
Barındırma Başlangıç sayfasında listelenen adımları, özellikle de aşağıdaki görevleri tamamlayın:
- Firebase CLI'yı yükleyin veya en son sürümüne güncelleyin.
- Yerel proje dizinini (uygulamanızın içeriğini içerir) Firebase projenize bağlayın.
İsteğe bağlı olarak uygulamanızın Hosting içeriğini ve yapılandırmasını dağıtabilirsiniz ancak bu, bu sayfadaki adımlar için bir ön koşul değildir.
1. Adım: Yerel olarak test edin
Hızlı yinelemeler yapıyorsanız veya uygulamanızın emüle edilmiş arka uç proje kaynaklarıyla etkileşim kurmasını istiyorsanız Hosting içeriğinizi test edip yerel olarak yapılandırabilirsiniz. Yerel olarak test yapılırken Firebase, web uygulamanızı yerel olarak barındırılan bir URL'de sunar.
Hosting, Firebase Local Emulator Suite'in bir parçasıdır. Bu paket, uygulamanızın emüle edilen Hosting içeriğiniz ve yapılandırmanızın yanı sıra isteğe bağlı olarak emüle edilen proje kaynaklarınızla (işlevler, veritabanları ve kurallar) etkileşime girmesini sağlar.
(İsteğe bağlı) Varsayılan olarak, yerel olarak barındırılan uygulamanız emüle edilmiş değil, gerçek proje kaynaklarıyla (işlevler, veritabanı, kurallar vb.) etkileşimde bulunur. Bunun yerine isteğe bağlı olarak uygulamanızı, yapılandırdığınız emüle edilmiş proje kaynaklarını kullanacak şekilde bağlayabilirsiniz. Daha fazla bilgi: Realtime Database | Cloud Firestore | Cloud Functions
Yerel proje dizininizin kök dizininden aşağıdaki komutu çalıştırın:
firebase emulators:start
Web uygulamanızı KSA tarafından döndürülen yerel URL'de (genellikle
http://localhost:5000
) açın.Yerel URL'yi değişikliklerle güncellemek için tarayıcınızı yenileyin.
Diğer yerel cihazlardan test etme
Varsayılan olarak, emülatörler yalnızca localhost
isteklerine yanıt verir. Bu, barındırılan içeriğinize bilgisayarınızın web tarayıcısından
erişebileceğiniz ancak ağınızdaki diğer cihazlardan erişemeyeceğiniz anlamına gelir. Diğer yerel cihazlardan test etmek isterseniz firebase.json
cihazınızı şu şekilde yapılandırın:
"emulators": {
// ...
"hosting": {
"port": 5000,
"host": "0.0.0.0"
}
}
2. Adım: Önizleme ve paylaşma
Diğer kullanıcıların, yayınlamadan önce web uygulamanızda yapılan değişiklikleri görüntülemelerini istiyorsanız önizleme kanallarını kullanabilirsiniz.
Bir önizleme kanalına dağıtım yaptığınızda Firebase, web uygulamanızı "önizleme URL'si" olarak sunar. Bu URL, paylaşılabilir ve geçici bir URL'dir. Önizleme URL'si kullanırken web uygulamanız tüm proje kaynakları için gerçek arka ucunuzla etkileşim kurar (yeniden yazma yapılandırmanızdaki "sabitlenmiş" işlevler hariç).
Önizleme URL'lerinin tahmin edilmesi zor olsa da (rastgele karma içerdikleri için) herkese açık olduklarını unutmayın. Dolayısıyla, URL'yi bilen herkes URL'ye erişebilir.
Yerel proje dizininizin kök dizininden aşağıdaki komutu çalıştırın:
firebase hosting:channel:deploy CHANNEL_ID
CHANNEL_ID öğesini boşluk içermeyen bir dizeyle değiştirin (örneğin,
feature_mission-2-mars
). Bu kimlik, önizleme kanalıyla ilişkilendirilen önizleme URL'sini oluşturmak için kullanılır.Web uygulamanızı, KSA tarafından döndürülen önizleme URL'sinde açın. URL şuna benzer:
PROJECT_ID--CHANNEL_ID-RANDOM_HASH.web.app
Önizleme URL'nizi değişikliklerle güncellemek için aynı komutu tekrar çalıştırın. Komutta aynı
CHANNEL_ID
değerini belirttiğinizden emin olun.
Bir kanalın süre sonunu ayarlama da dahil olmak üzere önizleme kanallarını yönetme hakkında bilgi edinin.
Firebase Hosting, bir pull isteği üzerinde değişiklik yaptığınızda otomatik olarak önizleme URL'si oluşturan ve güncelleyen bir GitHub Action'ı destekler. Bu GitHub İşlemini nasıl ayarlayacağınızı ve kullanacağınızı öğrenin.
3. Adım: Yayında dağıtın
Değişikliklerinizi dünyayla paylaşmaya hazır olduğunuzda Hosting içeriğinizi ve yapılandırmanızı canlı kanalınıza dağıtın. Firebase, kullanım alanınıza bağlı olarak bu adım için birkaç farklı seçenek sunar (aşağıdaki seçeneklere bakın).
1. Seçenek: Önizleme kanalından canlı kanalınıza klonlama
Bu seçenek, önizleme kanalında test ettiğiniz içeriklerin ve yapılandırmayı canlı kanalınıza tam olarak dağıttığınızdan emin olmanızı sağlar. Sürümleri klonlama hakkında daha fazla bilgi edinin.
Herhangi bir dizinde aşağıdaki komutu çalıştırın:
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live
Her bir yer tutucuyu aşağıdakilerle değiştirin:
SOURCE_SITE_ID ve TARGET_SITE_ID: Bunlar, kanalları içeren Hosting sitelerinin kimlikleridir.
- Varsayılan Hosting siteniz için Firebase proje kimliğinizi kullanın.
- Aynı Firebase projesinde bulunan, hatta farklı Firebase projelerindeki siteleri belirtebilirsiniz.
SOURCE_CHANNEL_ID: Bu, canlı kanalınıza dağıtmak istediğiniz sürümü sunan kanalın tanımlayıcısıdır.
- Canlı bir kanal için kanal kimliği olarak
live
değerini kullanın.
- Canlı bir kanal için kanal kimliği olarak
Değişikliklerinizi görüntüleme (sonraki adım).
2. Seçenek: Yerel proje dizininizden canlı kanalınıza dağıtım yapın
Bu seçenek, canlı kanala özel yapılandırmaları ayarlama veya önizleme kanalı kullanmamış olsanız bile dağıtma esnekliği sağlar.
Yerel proje dizininizin kök dizininden aşağıdaki komutu çalıştırın:
firebase deploy --only hosting
Değişikliklerinizi görüntüleme (sonraki adım).
4. Adım: Canlı sitenizde değişikliklerinizi görüntüleyin
Yukarıdaki seçeneklerin her ikisi de Hosting içeriğinizi ve yapılandırmanızı aşağıdaki sitelere dağıtır:
Varsayılan Hosting siteniz ve diğer Hosting siteleri için Firebase tarafından sağlanan alt alanlar:
SITE_ID.web.app
(ör.PROJECT_ID.web.app
)
SITE_ID.firebaseapp.com
(ör.PROJECT_ID.firebaseapp.com
)Hosting sitelerinize bağladığınız tüm özel alanlar
Dağıtımı belirli bir Hosting sitesiyle kısıtlamak için CLI komutunuzda bir dağıtım hedefi belirtin.
Diğer dağıtım etkinlikleri ve bilgileri
Dağıtım için bir yorum ekleyin
Dilerseniz dağıtıma yorum ekleyebilirsiniz. Bu yorum, Firebase konsolundaki Barındırma kontrol panelinde diğer dağıtım bilgileriyle birlikte gösterilir. Örnek:
firebase deploy --only hosting -m "Deploying the best new feature ever."
Komut dosyası içeren önceden dağıtım ve dağıtım sonrası görev ekleme
İsteğe bağlı olarak, önceden dağıtım veya dağıtım sonrası görevleri gerçekleştirmek için kabuk komut dosyalarını firebase deploy
komutuna bağlayabilirsiniz. Örneğin, bir dağıtım sonrası kancası, yöneticileri yeni site içeriği dağıtımları konusunda bilgilendirebilir. Daha fazla bilgi için Firebase CLI belgelerini inceleyin.
Dağıtılan içeriği önbelleğe alma
Statik içerik için bir istek yapıldığında Firebase Hosting, CDN'deki içeriği otomatik olarak önbelleğe alır. Sitenizin içeriğini yeniden dağıtırsanız Firebase, CDN'de önbelleğe alınmış tüm statik içeriğinizi otomatik olarak temizleyerek yeni isteklerin yeni içeriğinizi almasını sağlar.
Dinamik içeriğin önbelleğe alınmasını yapılandırabileceğinizi unutmayın.
HTTPS üzerinden sunma
Firebase Hosting'de barındırılmayan tüm harici kaynakların, harici komut dosyaları da dahil olmak üzere SSL (HTTPS) üzerinden yüklendiğinden emin olun. Çoğu tarayıcı, kullanıcıların "karma içerik" (SSL ve SSL olmayan trafik) yüklemesine izin vermez.
Dosya silme
Firebase Hosting'de, seçilen dosyaları dağıtılmış bir siteden silmenin birincil yöntemi dosyaları yerel olarak silip yeniden dağıtmaktır.
Sonraki adımlar
GitHub ile entegrasyon yapın ve GitHub Action'ını ayarlayarak önizlediğiniz içeriğinizi yineleyin.
Diğer barındırma özellikleri hakkında bilgi edinin:
Firebase KSA belgelerinin tamamını inceleyin.
Uygulamanızı kullanıma sunmaya hazırlanın:
- Google Cloud Console'da projeniz için bütçe uyarıları oluşturun.
- Projenizin birden çok Firebase hizmetindeki kullanımına ilişkin genel bir fikir edinmek için Firebase konsolundaki Kullanım ve faturalandırma kontrol panelini izleyin. Daha ayrıntılı kullanım bilgileri için Barındırma Kullanımı kontrol panelini de ziyaret edebilirsiniz.
- Firebase lansmanları için yapılacaklar listesini inceleyin.