Uzantı bildirimi, uzantı örneklerinin ve bunların 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ırlık 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ızda nasıl çalıştığını test edin
- Uzantı yapılandırmanızı kaynak kontrolüne kaydedin
- Uzantıları CI/CD ardışık düzeninize ekleyin
Bir uzantı bildiriminin iki bölümü vardır:
Örnek kimliğinin uzantı sürümü referansına eşlendiği
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, her bir uzantı örneğinizin yapılandırmasını içeren.env
dosyaları. Örneğin,storage-resize-images
bir örneği aşağıdaki gibi 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
Uzantı bildirimi oluşturma
Uzantı bildirimi oluşturmanın üç yolu vardır:
- Uzantı bildiriminizi Firebase CLI ile yönetin
- Bir projenin uzantı yapılandırmasını dışa aktarma
- Bildiri dosyalarını manuel olarak düzenleyin
İlk iki yöntem aşağıda açıklanmıştır.
Uzantı bildiriminizi Firebase CLI ile yönetin
Projenin geçerli yapılandırmasını gerçekten değiştirmeden uzantı bildirimini güncellemek için Firebase CLI'nin ext:
komutlarının çoğunu --local
seçeneğiyle çalıştırabilirsiniz.
Ö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 isteyecek, 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. Ayrıca 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ı Local Emulator Suite'i kullanarak test edebilirsiniz.
Yerel 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ı 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:
Artık bildiriminizde listelenen uzantı örnekleriniz varsa, Local Emulator Suite bu uzantıların kaynak kodunu ~/.cache/firebase/extensions
konumuna indirecektir. İndirildikten sonra, Yerel Emulator Paketi 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 bunu Firebase CLI'yi kullanarak bir projeye dağıtabilirsiniz. Bir uzantı manifestiyle dağıtım yaptığınızda, manifestteki tüm uzantı örneklerini tek seferde 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
yeni çalıştırdıysanız, zaten doğru dizindesiniz.) -
deploy
komutunu çalıştırın. Uzantıları mevcut proje dışında bir projeye dağıtmak istiyorsanız şunu da belirtin--project=
:firebase deploy --only extensions –-project=YOUR_PROJECT_ID
deploy
komutu her örnek yapılandırmasını doğrulayacak, firebase.json
listelenmeyen hedef projenizden herhangi bir uzantı örneğini silmek isteyip istemediğinizi soracak ve ardından tüm uzantı örneklerinizi dağıtacaktır.
Projeye özel uzantı konfigürasyonları
Kaydedilen uzantı yapılandırmaları, birden fazla 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 ö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 yerleştirin.
Bazen uzantılarınızı taklit ederken farklı bir parametre değeri kullanmak isteyebilirsiniz; örneğin, üretim API'si 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
içine koyun