Menggunakan kembali konfigurasi Ekstensi project

Setelah menginstal dan mengonfigurasi ekstensi di project Firebase, Anda dapat menyimpan konfigurasi dan men-deploy-nya ke project lain. Konfigurasi yang Anda simpan berisi informasi tentang setiap instance ekstensi yang telah diinstal, termasuk versi setiap instance dan parameter value yang Anda tentukan saat menginstalnya.

Hal ini memiliki beberapa kemungkinan penggunaan:

  • Membuat ulang konfigurasi Ekstensi project di project lainnya
  • Membagikan konfigurasi Ekstensi kepada orang lain
  • Melakukan commit konfigurasi Ekstensi ke kontrol sumber
  • Menambahkan Ekstensi ke pipeline CI/CD

Menyimpan konfigurasi Ekstensi project

Untuk menyimpan konfigurasi Ekstensi project, lakukan hal berikut:

  1. Jika Anda belum melakukannya, siapkan Firebase CLI
  2. Dari perintah shell, ubah ke direktori project. (Direktori project Anda berisi file firebase.json).
  3. Jalankan perintah ext:export:
    firebase ext:export –-project=YOUR_PROJECT_ID

Perintah ext:export akan menambahkan bagian extensions ke file firebase.json. Contoh:

{
 "extensions": {
   "my-bigquery-extension": "firebase/firestore-bigquery-export@^0.1.18",
   "my-image-resizer": "firebase/storage-resize-images@^0.1.22",
 }
}

Selain itu, perintah ext:export akan membuat direktori extensions yang berisi file .env untuk setiap instance ekstensi yang telah diinstal. File ini berisi parameter konfigurasi untuk setiap instance. Misalnya, instance storage-resize-images mungkin memiliki file .env seperti berikut:

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

Men-deploy konfigurasi Ekstensi ke project

Setelah menyimpan konfigurasi Ekstensi project, Anda dapat men-deploy-nya ke project menggunakan Firebase CLI. Saat men-deploy konfigurasi Ekstensi, Anda menginstal, mengupdate, dan mengonfigurasi semua instance ekstensi dalam konfigurasi yang tersimpan ke project sekaligus.

Cara men-deploy konfigurasi Ekstensi:

  1. Dari perintah shell, ubah ke direktori yang berisi konfigurasi Ekstensi yang disimpan. (Ini adalah direktori yang berisi firebase.json. Jika baru saja menjalankan ext:export, Anda sudah berada di direktori yang tepat.)
  2. Jalankan perintah deploy, yang menentukan project yang menjadi tujuan deployment ekstensi Anda:
    firebase deploy --only extensions –-project=YOUR_PROJECT_ID

Perintah deploy akan memvalidasi setiap konfigurasi instance, menanyakan apakah Anda ingin menghapus instance ekstensi dari project tujuan yang tidak tercantum dalam firebase.json, lalu men-deploy semua instance ekstensi Anda.

Konfigurasi Ekstensi Khusus Project

Konfigurasi Ekstensi yang tersimpan dapat digunakan untuk men-deploy ke beberapa project berbeda, misalnya project staging dan produksi. Saat melakukannya, beberapa nilai parameter mungkin harus berbeda untuk setiap project. Anda dapat melakukannya dengan file .env khusus project. Nilai parameter yang berbeda antar project dapat ditempatkan di extensions/${extensionInstanceId}.env.${projectIdOrAlias} dan nilai parameter bersama dapat ditempatkan di extensions/${extensionInstanceId}.env.