Değişiklikleri canlı sitenize dağıtmadan önce görüntüleyip test etmek isteyeceksiniz. Firebase Hosting, değişiklikleri yerel olarak görüntülemenize ve test etmenize ve taklit edilen 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 yapmak için GitHub entegrasyonunu bile destekliyoruz.
Başlamadan önce
Hosting Başlayın sayfasında listelenen adımları, özellikle de aşağıdaki görevleri tamamlayın:
- Firebase KSA'yı yükleyin veya en son sürümüne güncelleyin.
- Yerel proje dizinini (uygulamanızın içeriğini içeren) 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 sayfadaki adımlar için ön koşul değildir.
1. adım: Yerel olarak test edin
Hızlı iterasyonlar yapıyorsanız veya uygulamanızın taklit edilmiş arka uç proje kaynaklarıyla etkileşime geçmesini istiyorsanız Hosting içeriğinizi ve yapılandırmanızı yerel olarak test edebilirsiniz. Yerel olarak test ederken Firebase, web uygulamanızı yerel olarak barındırılan bir URL'de sunar.
Hosting, uygulamanızın emüle 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şimde bulunmasına olanak tanıyan Firebase Local Emulator Suite kapsamındadır.
(İsteğe bağlı) Varsayılan olarak, yerel olarak barındırılan uygulamanız emülete değil, proje kaynaklarıyla (işlevler, veritabanı, kurallar vb.) gerçek etkileşim kurar. Bunun yerine, isteğe bağlı olarak uygulamanızı bağlayarak yapılandırdığınız emulated proje kaynaklarını kullanabilirsiniz. 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ı, CLI 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 edin
Emülatörler varsayılan olarak yalnızca localhost
tarafından gönderilen isteklere 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 yapmak istiyorsanız firebase.json
cihazınızı aşağıdaki gibi yapılandırın:
"emulators": {
// ...
"hosting": {
"port": 5000,
"host": "0.0.0.0"
}
}
2. adım: Önizleyin ve paylaşın
Diğer kullanıcıların web uygulamanızdaki değişiklikleri yayınlanmadan önce görüntülemesini istiyorsanız önizleme kanallarını kullanabilirsiniz.
Önizleme kanalına dağıtım yaptıktan sonra Firebase, web uygulamanızı paylaşılabilir bir geçici URL olan "önizleme URL'si"nde sunar. Bir önizleme URL'si kullanıldığında 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 bir karma içerdiklerinden) bu URL'lerin herkese açık olduğunu unutmayın. Bu nedenle, URL'yi bilen herkes bu sayfaya erişebilir.
Yerel proje dizininizin kökünden aşağıdaki komutu çalıştırın:
firebase hosting:channel:deploy CHANNEL_ID
CHANNEL_ID değerini boşluk içermeyen bir dizeyle (örneğin,
feature_mission-2-mars
) değiştirin. Bu kimlik, önizleme kanalıyla ilişkili önizleme URL'sini oluşturmak için kullanılır.Web uygulamanızı, CLI tarafından döndürülen önizleme URL'sinde açın. Şuna benzer bir görünüme sahiptir:
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.
Kanalın geçerlilik süresini ayarlama da dahil olmak üzere önizleme kanallarını yönetme hakkında bilgi edinin.
Firebase Hosting, bir pull isteğine değişiklik kaydettiğinizde otomatik olarak bir önizleme URL'si oluşturup güncelleyen bir GitHub işlemini destekler. Bu GitHub işlemini nasıl ayarlayacağınızı ve kullanacağınızı öğrenin.
3. Adım: Canlı yayınlayın
Değişikliklerinizi dünyayla paylaşmaya hazır olduğunuzda Hostingiç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 tam içeriği ve yapılandırmayı canlı kanalınıza 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 yer tutucuyu aşağıdakiyle değiştirin:
SOURCE_SITE_ID ve TARGET_SITE_ID: Kanalları içeren Hosting sitelerinin kimlikleridir.
- Varsayılan Hosting siteniz için Firebase proje kimliğinizi kullanın.
- Aynı Firebase projesinde veya farklı Firebase projelerinde bulunan siteleri belirtebilirsiniz.
SOURCE_CHANNEL_ID: Bu, canlı kanalınıza dağıtmak istediğiniz sürümü şu anda yayınlayan kanalın tanımlayıcısıdır.
- Canlı kanallar için kanal kimliği olarak
live
değerini kullanın.
- Canlı kanallar için kanal kimliği olarak
Değişikliklerinizi görüntüleyin (sonraki adım).
2. seçenek: Yerel proje dizininizden canlı kanalınıza dağıtma
Bu seçenek, canlı kanala özgü yapılandırmaları ayarlama veya önizleme kanalı kullanmamış olsanız bile dağıtma esnekliği sağlar.
Yerel proje dizininizin kökünden aşağıdaki komutu çalıştırın:
firebase deploy --only hosting
Değişikliklerinizi görüntüleyin (sonraki adım).
4. adım: Değişikliklerinizi canlı sitenizde 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 siteleriniz için Firebase tarafından sağlanan alt alan adları:
SITE_ID.web.app
(PROJECT_ID.web.app
gibi)
SITE_ID.firebaseapp.com
(PROJECT_ID.firebaseapp.com
gibi)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 yorum ekleme
İsterseniz dağıtıma yorum da ekleyebilirsiniz. Bu yorum, Firebase konsolundaki Hosting kontrol panelinde yer alan diğer dağıtım bilgileriyle birlikte gösterilir. Örneğin:
firebase deploy --only hosting -m "Deploying the best new feature ever."
Dağıtım öncesi ve sonrası komut dosyası görevleri ekleme
İsteğe bağlı olarak, dağıtım öncesi veya sonrası görevleri gerçekleştirmek için kabuk komut dosyalarını firebase deploy
komutuna bağlayabilirsiniz. Örneğin, bir yayın sonrası kanca, yöneticileri yeni site içeriği dağıtımlarından haberdar edebilir. Daha fazla bilgi için Firebase KSA belgelerine bakın.
Yayınlanan içeriği önbelleğe alma
Statik içerik için bir istek yapıldığında Firebase Hosting, içeriği CDN'deki içeriği otomatik olarak önbelleğe alır. Sitenizin içeriğini yeniden dağıtırsanız Firebase, yeni isteklerin yeni içeriğinizi alabilmesi için önbelleğe alınmış tüm statik içeriğinizi CDN genelinde otomatik olarak temizler.
Dinamik içeriğin önbelleğe alınmasını yapılandırabileceğinizi unutmayın.
HTTPS üzerinden yayınlama
Firebase Hosting üzerinde 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.
Dosyaları silme
Firebase Hosting'te, dağıtılmış bir sitedeki seçili dosyaları silme yönteminin birincil yolu, dosyaları yerel olarak silmek ve ardından yeniden dağıtmaktır.
Sonraki adımlar
GitHub işlemini ayarlayarak GitHub ile entegrasyon yapın ve önizlenen içeriğinizi iteratif olarak çalıştırın.
Diğer barındırma özellikleri hakkında bilgi edinin:
Firebase KSA ile ilgili dokümanların tamamına göz atın.
Uygulamanızı kullanıma sunmaya hazırlanma:
- Google Cloud konsolunda projeniz için bütçe uyarıları ayarlayın.
- Projenizin birden fazla Firebase hizmetindeki kullanımına dair 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 Hosting Kullanım kontrol panelini de ziyaret edebilirsiniz.
- Firebase lansman kontrol listesini inceleyin.