Bir uzantı bildirimi, uzantı örneklerinin ve bunların yapılandırmalarının bir listesidir. Manifesto ile şunları yapabilirsiniz:
- Uzantı yapılandırmanızı başkalarıyla paylaşın
- Uzantı yapılandırmanızı farklı projeler arasında kopyalayın (örneğin, hazırlama projenizden üretim projenize)
- Tüm uzantılarınızı aynı anda dağıtın
- Firebase Local Emulator Suite'i kullanarak uzantılarınızın uygulamanızla nasıl çalıştığını test edin
- Uzantı yapılandırmanızı kaynak denetimine tabi tutun
- CI/CD işlem hattınıza uzantıları dahil edin
Bir uzantı bildiriminin iki bölümü vardır:
Örnek kimliği ile uzantı sürümü referansının bir haritası olan
firebase.json
dosyanızınextensions
bölümü. Örneğin:{ "extensions": { "my-bigquery-extension": "firebase/firestore-bigquery-export@^0.1.18", "my-image-resizer": "firebase/storage-resize-images@^0.1.22", } }
Firebase proje dizininizin
extensions/
alt dizininde, uzantı örneklerinizin her biri için yapılandırmayı içeren.env
dosyaları. Örneğin,storage-resize-images
örneğinin bir.env
dosyası aşağıdaki gibi olabilir:IMAGE_TYPE=jpeg LOCATION=us-central1 IMG_BUCKET=${param:PROJECT_ID}.appspot.com IMG_SIZES=100x100 DELETE_ORIGINAL_FILE=false
Bir uzantı bildirimi oluşturun
Bir uzantı bildirimi oluşturmanın üç yolu vardır:
- Firebase CLI ile uzantı bildiriminizi yönetin
- Bir projenin uzantı yapılandırmasını dışa aktarma
- Manifest dosyalarını manuel olarak düzenleyin
İlk iki yöntem aşağıda açıklanmıştır.
Firebase CLI ile uzantı bildiriminizi yönetin
Firebase CLI'nin ext:
komutlarının çoğunu --local
seçeneğiyle çalıştırarak, projenin mevcut yapılandırmasını fiilen değiştirmeden uzantı bildirimini güncelleyebilirsiniz.
Örneğin:
firebase ext:install --local firebase/firestore-bigquery-export
Yukarıdaki komutu çalıştırmak, sizden firebase/firestore-bigquery-export
uzantısının en son sürümünü yapılandırmanızı ve yapılandırmayı bildirime kaydetmenizi isteyecektir, ancak yapılandırmayı projenize dağıtmayacaktır.
Uzantı bildirimini değiştiren bazı komut örnekleri aşağıda verilmiştir:
# ext:configure changes the params for an extension instance in your extensions manifest
$ firebase ext:configure my-bigquery-extension --local
# ext:update --local updates an instance in your extensions manifest
# to the latest version of that extension
$ firebase ext:update my-bigquery-extension --local
# You can also specify a version if you don't want to update to the latest version
$ firebase ext:update my-bigquery-extension firebase/firestore-bigquery-export@0.1.10 --local
# ext:uninstall --local removes an instance from your extensions manifest
$ firebase ext:uninstall my-bigquery-extension --local
Bir projenin uzantı yapılandırmasını dışa aktarma
Bir projenin geçerli uzantı yapılandırmasını bildirime kaydetmek için aşağıdakileri yapın:
- Henüz yapmadıysanız, Firebase CLI'yi kurun
- Bir kabuk isteminden proje dizinine geçin. (Proje dizininiz
firebase.json
dosyasını içerir). -
ext:export
komutunu çalıştırın:firebase ext:export
ext:export
komutu, firebase.json
dosyasına bir extensions
bölümü ekleyecektir. Ek olarak, ext:export
komutu, yüklediğiniz her uzantı örneği için bir .env
dosyası içeren bir extensions
dizini oluşturur. Bu dosyalar, her örnek için yapılandırma parametrelerini içerir.
Bir uzantı yapılandırmasını Firebase Local Emulator Suite ile test edin
Uzantı bildiriminize bazı uzantı örnekleri ekledikten sonra, Local Emulator Suite'i kullanarak bunları test edebilirsiniz.
Local Emulator Suite'i başlatın :
- Emulator Suite'i etkileşimli olarak çalıştırmak için şunu çalıştırın:
firebase emulators:start
- Emulator Suite'i çalıştırmak ve bir test komut dosyası yürütmek için şunu çalıştırın:
firebase emulators:exec my-test.sh
- Emulator Suite'i etkileşimli olarak çalıştırmak için şunu çalıştırın:
Şimdi, manifest dosyanızda uzantı örnekleri listeleniyorsa, Local Emulator Suite bu uzantıların kaynak kodunu ~/.cache/firebase/extensions
konumuna indirecektir. İndirildikten sonra Local Emulator Suite başlayacak ve uzantıların arka planda tetiklenen işlevlerinden herhangi birini tetikleyebilecek ve uygulamanızla entegrasyonlarını test etmek için uygulamanızı Emulator paketine bağlayabileceksiniz.
Bir projeye uzantı yapılandırması dağıtma
Uzantı bildiriminize bazı uzantı örnekleri ekledikten sonra, Firebase CLI'yi kullanarak bunu bir projeye dağıtabilirsiniz. Bir uzantı bildirimi ile dağıttığınızda, bildirimdeki tüm uzantı örneklerini aynı anda bir projeye yükler, günceller ve yapılandırırsınız.
Bir uzantı bildirimini dağıtmak için:
- Bir kabuk isteminden, kayıtlı uzantı yapılandırmasını içeren dizine geçin. (Bu,
firebase.json
dosyasını içeren dizindir.ext:export
komutunu çalıştırdıysanız zaten doğru dizindesiniz demektir.) -
deploy
komutunu çalıştırın. Uzantıları mevcut projeden farklı bir projeye dağıtmak istiyorsanız--project=
:firebase deploy --only extensions –-project=YOUR_PROJECT_ID
de belirtin.
deploy
komutu her örnek yapılandırmasını doğrulayacak, hedef projenizden firebase.json
listelenmeyen herhangi bir uzantı örneğini silmek isteyip istemediğinizi soracak ve ardından tüm uzantı örneklerinizi konuşlandıracaktır.
Projeye özgü uzantı yapılandırmaları
Kaydedilmiş uzantı yapılandırmaları, birden çok farklı projeye dağıtmak için kullanılabilir: örneğin, bir hazırlama projesi ve bir üretim projesi. Bunu yaparken bazı parametre değerlerinin her proje için farklı olması gerekebilir. Projeye özgü .env
dosyaları bunu mümkün kılar:
- Projeler arasında farklılık gösteren parametre değerlerini
extensions/ EXTENSION_INSTANCE_ID .env. YOUR_PROJECT_ID
-
extensions/ EXTENSION_INSTANCE_ID .env
paylaşılan parametre değerlerini koyun.
Bazen, uzantılarınızı taklit ederken farklı bir parametre değeri kullanmak isteyebilirsiniz: örneğin, üretim anahtarı yerine test API anahtarı sağlamak isteyebilirsiniz. Bu parametreleri bir .local
dosyasına koyun:
- Emülasyon sırasında kullanmak istediğiniz gizli olmayan parametreleri
extensions/ EXTENSION_INSTANCE_ID .env.local
içine koyun - Gizli parametre değerlerini
extensions/ EXTENSION_INSTANCE_ID .secret.local
koyun