Uzantıları manifest dosyasıyla proje yapılandırmalarını yönetme

Uzantılar manifesti, uzantı örneklerinin ve bunların yapılandırmanın üç yolu vardır. Manifest ile şunları yapabilirsiniz:

  • Uzantı yapılandırmanızı başkalarıyla paylaşma
  • Uzantı yapılandırmanızı farklı projeler arasında kopyalayın (ör. hazırlık projenizi üretim projenize ekleyin)
  • Tüm uzantılarınızı tek seferde dağıtın
  • Firebase Local Emulator Suite kullanarak uzantılarınızın uygulamanızla nasıl çalıştığını test edin
  • Uzantı yapılandırmanızı kaynak kontrolüne kaydedin
  • CI/CD ardışık düzeninize uzantıları ekleme

Uzantı manifesti iki bölümden oluşur:

  • Örneğin haritası olan firebase.json etkinliğinizin extensions bölümü Uzantı sürümü referansına kimlik. Örneğin:

    {
     "extensions": {
       "my-bigquery-extension": "firebase/firestore-bigquery-export@^0.1.18",
       "my-image-resizer": "firebase/storage-resize-images@^0.1.22",
     }
    }
    
  • Her bir uzantınızın yapılandırmasını içeren .env dosya Örnekler: Firebase projenizin extensions/ alt dizininde bulabilirsiniz. dizin. Örneğin, storage-resize-images öğesinin bir örneğinde aşağıdaki gibi bir .env dosyası oluşturabilirsiniz:

    IMAGE_TYPE=jpeg
    LOCATION=us-central1
    IMG_BUCKET=${param:PROJECT_ID}.appspot.com
    IMG_SIZES=100x100
    DELETE_ORIGINAL_FILE=false

Uzantı manifesti oluşturma

Uzantı manifesti oluşturmanın üç yolu vardır:

  • Uzantı manifestinizi Firebase CLI ile yönetme
  • 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.

Uzantı manifestinizi Firebase CLI ile yönetme

Firebase CLI'ın ext: komutlarının çoğunu --local seçeneğiyle çalıştırabilirsiniz projenin etiketini değiştirmeden uzantı manifestini Mevcut yapılandırma.

Örneğin:

firebase ext:install --local firebase/firestore-bigquery-export

Yukarıdaki komutu çalıştırdığınızda Search Console'un en son sürümünü firebase/firestore-bigquery-export uzantısını seçin ve yapılandırmayı şuraya kaydedin: ekler ancak yapılandırmayı projenize dağıtmaz.

Uzantıların manifest dosyasını değiştiren birkaç komut örneğini burada bulabilirsiniz:

# 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

Projenin uzantı yapılandırmasını dışa aktarma

Bir projenin mevcut uzantı yapılandırmasını manifest dosyasına kaydetmek için takip etmek için:

  1. Henüz yapmadıysanız Firebase CLI'ı ayarlayın
  2. Kabuk isteminden proje dizinine geçiş yapın. (Projeniz firebase.json dosyasını içeren dizin).
  3. ext:export komutunu çalıştırın:
    firebase ext:export

ext:export komutu, firebase.json öğesine bir extensions bölümü ekler dosyası olarak kaydedebilirsiniz. Ayrıca, ext:export komutu bir extensions dizini oluşturur yüklediğiniz her uzantı örneği için bir .env dosyası içerir. Bu dosyaları, her örneğin yapılandırma parametrelerini içerir.

Uzantı yapılandırmasını Firebase Local Emulator Suite ile test edin

Uzantılar manifest dosyanıza bazı uzantı örnekleri ekledikten sonra Local Emulator Suite kullanarak test edebilirsiniz.

  1. Local Emulator Suite uygulamasını yükleyin ve yapılandırın.

  2. Local Emulator Suite uygulamasını başlatın:

    • Emulator Suite'i etkileşimli olarak çalıştırmak için şu komutu çalıştırın: firebase emulators:start
    • Emulator Suite'i çalıştırmak ve bir test komut dosyası yürütmek için şu komutu çalıştırın: firebase emulators:exec my-test.sh

Manifest'inizde listelenen uzantı örnekleri varsa Local Emulator Suite, bu uzantıların kaynak kodunu şuraya indirecek: ~/.cache/firebase/extensions. İndirildikten sonra Local Emulator Suite başlatılacak ve aşağıdakileri tetikleyebileceksiniz. uzantıları arka planda tetiklenen işlevler ve uygulamanızı Emülatöre bağlayın paketine bakın.

ziyaret edin.

Projeye uzantı yapılandırması dağıtma

Uzantı manifestinize birkaç uzantı örnekleri ekledikten sonra, Firebase CLI kullanarak bir projeye dağıtabilirsiniz. uzantıları manifest'ini açtığınızda, tüm uzantıları yükler, günceller ve örneklerinden birini tek seferde bir projeye uygular.

Uzantıların manifestini dağıtmak için:

  1. Bir kabuk isteminden, yapılandırma. (Bu, firebase.json Az önce ext:export koştuysanız zaten doğru yerdesiniz dizinine ekleyin.)
  2. deploy komutunu çalıştırın. Uzantıları bir projeye dağıtmak istiyorsanız geçerli olanın dışında --project= değerini de belirtin:
    firebase deploy --only extensions –-project=YOUR_PROJECT_ID

deploy komutu, her örnek yapılandırmasını doğrular. isteyip istemediğinizi sorun istediğiniz uzantı örneklerini hedef projenizden silin: ve ardından tüm uzantı örneklerinizi dağıtın.firebase.json

Projeye özel uzantı yapılandırmaları

Kayıtlı uzantı yapılandırmaları, birden fazla farklı uygulamaya dağıtım yapmak için kullanılabilir. Bunlar bir hazırlık projesi ve üretim projesi gibi. Bunu yaparken Bu nedenle, bazı parametre değerlerinin her proje için farklı olması gerekebilir. Projeye özel .env dosyaları bunu mümkün kılar:

  • extensions/EXTENSION_INSTANCE_ID.env.YOUR_PROJECT_ID projesindeki projeler arasında farklı olan parametre değerleri girin
  • Paylaşılan parametre değerlerini extensions/EXTENSION_INSTANCE_ID.env bölümüne girin.

Bazen, uzantılar: Örneğin, bir URL yerine bir test API anahtarı üretim birincisi. Bu parametreleri bir .local dosyasına yerleştirin:

  • Emülasyon sırasında kullanmak istediğiniz gizli olmayan parametreleri extensions/EXTENSION_INSTANCE_ID.env.local
  • Gizli anahtar parametre değerlerini extensions/EXTENSION_INSTANCE_ID.secret.local