Uzantı bildirimi , uzantı örneklerinin ve yapılandırmalarının bir listesidir. Manifest 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ı tek seferde 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 teslim edin
- Uzantıları CI/CD ardışık düzeninize dahil edin
Bir uzantı manifestosu iki bölümden oluşur:
Örnek kimliğinin uzantı sürümü referansına eşlemesi olan
firebase.json
extensions
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", } }
.env
proje dizininizinextensions/
alt dizininde, uzantı örneklerinizin her biri için yapılandırmayı içeren .env dosyaları. Örneğin,storage-resize-images
bir örneği, aşağıdakine benzer bir.env
dosyasına sahip 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 aktarın
- 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, projenin mevcut yapılandırmasını gerçekten değiştirmeden uzantı bildirimini güncellemek için --local
seçeneğiyle çalıştırabilirsiniz.
Örneğin:
firebase ext:install --local firebase/firestore-bigquery-export
Yukarıdaki komutu çalıştırmak, firebase/firestore-bigquery-export
uzantısının en son sürümünü yapılandırmanızı ve yapılandırmayı bildirime kaydetmenizi ister, ancak yapılandırmayı projenize dağıtmaz.
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 aktarın
Bir projenin mevcut 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ü ekler. 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.
Firebase Local Emulator Suite ile bir uzantı yapılandırmasını test edin
Uzantı bildiriminize bazı uzantı örnekleri ekledikten sonra, bunları Yerel Öykünücü Paketi'ni kullanarak 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ını çalıştırmak 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, bildiriminizde listelenen uzantı örnekleriniz varsa, Local Emulator Suite bu uzantıların kaynak kodunu ~/.cache/firebase/extensions
. Bunlar indirildikten sonra Local Emulator Suite başlayacak ve uzantıların arka planda tetiklenen işlevlerinden herhangi birini tetikleyebilecek ve uygulamanızla entegrasyonunu test etmek için uygulamanızı Emulator paketine bağlayabileceksiniz.
Bir projeye uzantı yapılandırması dağıtın
Uzantı bildiriminize bazı uzantı örnekleri ekledikten sonra, bunu Firebase CLI'yi kullanarak 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ı bildirimi dağıtmak için:
- Bir kabuk isteminden, kaydedilmiş uzantı yapılandırmasını içeren dizine geçin. (Bu, firebase.json dosyasını içeren dizindir.
ext:export
dosyasını çalıştırdıysanız, zaten doğrufirebase.json
.) -
deploy
komutunu çalıştırın. Uzantıları mevcut proje dışında bir projeye dağıtmak istiyorsanız,--project=
:firebase deploy --only extensions –-project=YOUR_PROJECT_ID
da belirtin.
deploy
komutu, her örnek yapılandırmasını doğrulayacak, hedef projenizden firebase.json
içinde listelenmeyen herhangi bir uzantı örneğini silmek isteyip istemediğinizi soracak ve ardından tüm uzantı örneklerinizi dağıtacaktır.
Projeye özel uzantı yapılandırmaları
Kaydedilen 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 her proje için bazı parametre değerlerinin farklı olması gerekebilir. Projeye özel .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
- Paylaşılan parametre değerlerini
extensions/ EXTENSION_INSTANCE_ID .env
içine koyun.
Bazen, uzantılarınızı taklit ederken farklı bir parametre değeri kullanmak isteyebilirsiniz: örneğin, üretim anahtarı yerine bir test API anahtarı sağlamak isteyebilirsiniz. Bu parametreleri bir .local
dosyasına koyun:
- Öykünme sırasında kullanmak istediğiniz gizli olmayan parametreleri
extensions/ EXTENSION_INSTANCE_ID .env.local
-
extensions/ EXTENSION_INSTANCE_ID .secret.local
içine gizli parametre değerlerini koyun