Bir uzantılar tezahürü, uzatma örneklerinin ve bunların yapılandırmalarının bir listesidir. Manifest ile şunları yapabilirsiniz:
- Uzantıların yapılandırmanızı başkalarıyla paylaşın
- Uzantıları yapılandırmanızı farklı projeler arasında kopyalayın (örneğin evreleme projenizden üretim projenize)
- Tüm uzantılarınızı bir kerede dağıtın
- Uzantılarınızın Firebase Yerel Emülator Suite'i kullanarak uygulamanızla nasıl çalıştığını test edin
- Genişletme yapılandırmanızı kaynak kontrolüne taahhüt edin
- CI/CD boru hattınıza uzantıları ekleyin
Bir uzantının tezahürü iki bölümü vardır:
firebase.json
Uzatma Sürümü Referansına Örnek Kimliği haritası olanextensions
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 uzantılarında
extensions/
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ğıdakiler gibi bir.env
dosyası olabilir:IMAGE_TYPE=jpeg LOCATION=us-central1 IMG_BUCKET=${param:PROJECT_ID}.appspot.com IMG_SIZES=100x100 DELETE_ORIGINAL_FILE=false
Bir uzantılar yaratın
Bir uzantı oluşturmanın üç yolu vardır:
- Firebase CLI ile tezahür eden uzantılarınızı yönetin
- Bir Projenin Uzatma Yapılandırmasını Dışa Aktarın
- Manuel olarak manuel olarak düzenleyin
İlk iki yöntem aşağıda açıklanmıştır.
Firebase CLI ile tezahür eden uzantılarınızı yönetin
Firebase Cli'nin ext:
komutlarının çoğunu, projenin geçerli yapılandırmasını gerçekten değiştirmeden tezahürü 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ı manifestize kaydetmenizi isteyecektir, ancak yapılandırmayı projenize dağıtmaz.
İşte ortaya çıkan uzantıları değiştiren bazı komut örnekleri:
# 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 Uzatma Yapılandırmasını Dışa Aktarın
Bir projenin mevcut uzantılar yapılandırmasını manifestize 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 bir uzantı örneği için bir .env
dosyası içeren bir extensions
dizinini oluşturur. Bu dosyalar her örnek için yapılandırma parametrelerini içerir.
Firebase Local Emulator Suite ile bir uzantılar yapılandırmasını test edin
Uzantılarınıza bazı uzantı örnekleri ekledikten sonra, yerel emülatör paketini kullanarak bunları test edebilirsiniz.
Yerel Emülatör Suite'i başlatın :
- Emülatör Suite'i etkileşimli bir şekilde çalıştırmak için Run:
firebase emulators:start
- Emülatör Suite'i çalıştırmak ve bir test komut dosyası yürütmek için:
firebase emulators:exec my-test.sh
- Emülatör Suite'i etkileşimli bir şekilde çalıştırmak için Run:
Şimdi, manifestinizde listelenen uzantı örnekleriniz varsa, yerel emülatör paketi bu uzantıların kaynak kodunu ~/.cache/firebase/extensions
indirecektir. İndirildikten sonra, yerel emülatör paketi başlayacak ve uzantıların arka plan tetiklenen işlevlerinden herhangi birini tetikleyebilecek ve uygulamanızla entegrasyonlarını test etmek için uygulamanızı emülatör paketine bağlayabileceksiniz.
Bir projeye bir uzantı yapılandırması dağıtım
Uzatma tezahürünüze bazı uzantı örnekleri ekledikten sonra, Firebase CLI'yi kullanarak bir projeye dağıtabilirsiniz. Bir uzantı tezgahıyla konuşlandırdığınızda, manifestteki tüm uzantısı örneklerini bir anda bir projeye yükler, günceller ve yapılandırırsınız.
Bir uzantıyı dağıtmak için:
- Bir kabuk isteminden, kaydedilen uzantılar yapılandırmasını içeren dizine değiştirin. (Bu,
firebase.json
içeren dizindir.ext:export
, zaten doğru dizinin içindesiniz.) -
deploy
komutunu çalıştırın. Uzantıları mevcut olandan başka bir projeye dağıtmak istiyorsanız, aynı zamanda--project=
:firebase deploy --only extensions –-project=YOUR_PROJECT_ID
belirtin.
deploy
komutu her örnek yapılandırmasını doğrular, firebase.json
listelenmeyen hedef projenizden herhangi bir uzantı örnekini silmek isteyip istemediğinizi sorar ve ardından tüm uzantı örneklerinizi dağıtır.
Projeye özgü uzatma yapılandırmaları
Kaydedilen uzantılar yapılandırmaları birden fazla farklı projeye dağıtmak için kullanılabilir: örneğin, bir evreleme projesi ve bir üretim projesi. Bunu yaparken, her proje için bazı parametre değerlerinin farklı olması gerekebilir. Projeye özgü .env
dosyaları bunu mümkün kılar:
-
extensions/ EXTENSION_INSTANCE_ID .env. YOUR_PROJECT_ID
- Paylaşılan parametre değerlerini
extensions/ EXTENSION_INSTANCE_ID .env
.
Bazen, uzantılarınızı taklit ederken farklı bir parametre değeri kullanmak isteyebilirsiniz: Örneğin, üretim yerine bir test API anahtarı sağlamak isteyebilirsiniz. Bu parametreleri .local
bir dosyaya koyun:
-
extensions/ EXTENSION_INSTANCE_ID .env.local
emülasyon sırasında kullanmak istediğiniz gizli olmayan parametreleri koyun - Gizli parametre değerlerini
extensions/ EXTENSION_INSTANCE_ID .secret.local