Firebase CLI referansı

Firebase CLI ( GitHub ), Firebase projelerini yönetmek, görüntülemek ve dağıtmak için çeşitli araçlar sağlar.

Firebase CLI'yi kullanmadan önce bir Firebase projesi oluşturun .

CLI'yi ayarlama veya güncelleme

Firebase CLI'yi yükleyin

Firebase CLI'yi işletim sisteminize, deneyim seviyenize ve/veya kullanım senaryonuza uygun bir yöntem kullanarak yükleyebilirsiniz. CLI'yi nasıl kurduğunuzdan bağımsız olarak aynı işlevselliğe ve firebase komutuna erişebilirsiniz.

Windows macOS Linux

pencereler

Windows için Firebase CLI'yi aşağıdaki seçeneklerden birini kullanarak yükleyebilirsiniz:

Seçenek Tanım Şunun için tavsiye edilir:
bağımsız ikili CLI için bağımsız ikili dosyayı indirin. Ardından, firebase komutunu çalıştırabileceğiniz bir kabuk açmak için yürütülebilir dosyaya erişebilirsiniz. Yeni geliştiriciler

Node.js kullanmayan veya aşina olmayan geliştiriciler
npm CLI'yi yüklemek ve genel olarak kullanılabilir firebase komutunu etkinleştirmek için npm'yi (Düğüm Paketi Yöneticisi) kullanın. Node.js kullanan geliştiriciler

bağımsız ikili

Firebase CLI için ikili dosyayı indirip çalıştırmak için şu adımları izleyin:

  1. Windows için Firebase CLI ikili dosyasını indirin.

  2. firebase komutunu çalıştırabileceğiniz bir kabuk açmak için ikili dosyaya erişin.

  3. Oturum açmaya ve CLI'yi test etmeye devam edin.

npm

Firebase CLI'yi yüklemek amacıyla npm (Düğüm Paketi Yöneticisi) kullanmak için şu adımları izleyin:

  1. Node.js'yi nvm-windows'u (Node Sürüm Yöneticisi) kullanarak yükleyin. Node.js'yi yüklemek, npm komut araçlarını otomatik olarak yükler.

  2. Aşağıdaki komutu çalıştırarak Firebase CLI'yi npm aracılığıyla yükleyin:

    npm install -g firebase-tools

    Bu komut, global olarak kullanılabilen firebase komutunu etkinleştirir.

  3. Oturum açmaya ve CLI'yi test etmeye devam edin.

macOS veya Linux

Aşağıdaki seçeneklerden birini kullanarak macOS veya Linux için Firebase CLI'yi yükleyebilirsiniz:

Seçenek Tanım Şunun için tavsiye edilir:
otomatik yükleme komut dosyası İşletim sisteminizi otomatik olarak algılayan, en son CLI sürümünü indiren ve ardından küresel olarak kullanılabilen firebase komutunu etkinleştiren tek bir komut çalıştırın. Yeni geliştiriciler

Node.js kullanmayan veya aşina olmayan geliştiriciler

CI/CD ortamında otomatik dağıtımlar
bağımsız ikili CLI için bağımsız ikili dosyayı indirin. Daha sonra ikili dosyayı iş akışınıza uyacak şekilde yapılandırabilir ve çalıştırabilirsiniz. CLI kullanılarak tamamen özelleştirilebilir iş akışları
npm CLI'yi yüklemek ve genel olarak kullanılabilir firebase komutunu etkinleştirmek için npm'yi (Düğüm Paketi Yöneticisi) kullanın. Node.js kullanan geliştiriciler

otomatik yükleme komut dosyası

Firebase CLI'yi otomatik yükleme komut dosyasını kullanarak yüklemek için şu adımları izleyin:

  1. Aşağıdaki cURL komutunu çalıştırın:

    curl -sL https://firebase.tools | bash

    Bu komut dosyası, işletim sisteminizi otomatik olarak algılar, en son Firebase CLI sürümünü indirir ve ardından küresel olarak kullanılabilen firebase komutunu etkinleştirir.

  2. Oturum açmaya ve CLI'yi test etmeye devam edin.

Otomatik yükleme komut dosyasıyla ilgili daha fazla örnek ve ayrıntı için firebase.tools adresindeki komut dosyasının kaynak koduna bakın.

bağımsız ikili

İşletim sisteminize özel Firebase CLI ikili dosyasını indirip çalıştırmak için şu adımları izleyin:

  1. İşletim sisteminiz için Firebase CLI ikili dosyasını indirin: macOS | Linux

  2. (İsteğe bağlı) Küresel olarak kullanılabilen firebase komutunu ayarlayın.

    1. chmod +x ./firebase_tools komutunu çalıştırarak ikili dosyayı yürütülebilir hale getirin.
    2. İkili dosyanın yolunu PATH'inize ekleyin.
  3. Oturum açmaya ve CLI'yi test etmeye devam edin.

npm

Firebase CLI'yi yüklemek amacıyla npm (Düğüm Paketi Yöneticisi) kullanmak için şu adımları izleyin:

  1. Node.js'yi nvm'yi (Düğüm Sürüm Yöneticisi) kullanarak yükleyin.
    Node.js'yi yüklemek, npm komut araçlarını otomatik olarak yükler.

  2. Aşağıdaki komutu çalıştırarak Firebase CLI'yi npm aracılığıyla yükleyin:

    npm install -g firebase-tools

    Bu komut, global olarak kullanılabilen firebase komutunu etkinleştirir.

  3. Oturum açmaya ve CLI'yi test etmeye devam edin.

Oturum açın ve Firebase CLI'yi test edin

CLI'yi yükledikten sonra kimlik doğrulamanız gerekir. Daha sonra Firebase projelerinizi listeleyerek kimlik doğrulamasını onaylayabilirsiniz.

  1. Aşağıdaki komutu çalıştırarak Google hesabınızı kullanarak Firebase'de oturum açın:

    firebase login

    Bu komut, yerel makinenizi Firebase'e bağlar ve Firebase projelerinize erişmenizi sağlar.

  2. Firebase projelerinizi listeleyerek CLI'nin düzgün şekilde yüklendiğini ve hesabınıza eriştiğini test edin. Aşağıdaki komutu çalıştırın:

    firebase projects:list

    Görüntülenen liste, Firebase konsolunda listelenen Firebase projeleriyle aynı olmalıdır.

En son CLI sürümüne güncelleme

Genel olarak en güncel Firebase CLI sürümünü kullanmak istersiniz.

CLI sürümünü nasıl güncelleyeceğiniz, işletim sisteminize ve CLI'yi nasıl yüklediğinize bağlıdır.

pencereler

  • bağımsız ikili dosya : Yeni sürümü indirin , ardından sisteminizde değiştirin
  • npm : npm install -g firebase-tools komutunu çalıştırın

Mac os işletim sistemi

  • otomatik yükleme komut dosyası : curl -sL https://firebase.tools | upgrade=true bash
  • bağımsız ikili dosya : Yeni sürümü indirin , ardından sisteminizde değiştirin
  • npm : npm install -g firebase-tools komutunu çalıştırın

Linux

  • otomatik yükleme komut dosyası : curl -sL https://firebase.tools | upgrade=true bash
  • bağımsız ikili dosya : Yeni sürümü indirin , ardından sisteminizde değiştirin
  • npm : npm install -g firebase-tools komutunu çalıştırın

CLI'yi CI sistemleriyle kullanma

Firebase CLI, kimlik doğrulamayı tamamlamak için bir tarayıcı gerektirir ancak CLI, CI ve diğer denetimsiz ortamlarla tamamen uyumludur.

  1. Tarayıcısı olan bir makineye Firebase CLI'yi yükleyin .

  2. Aşağıdaki komutu çalıştırarak oturum açma işlemini başlatın:

    firebase login:ci
  3. Sağlanan URL'yi ziyaret edin ve ardından bir Google hesabı kullanarak giriş yapın.

  4. Yeni bir yenileme jetonu yazdırın. Mevcut CLI oturumu etkilenmeyecektir.

  5. Çıkış belirtecini CI sisteminizde güvenli ancak erişilebilir bir şekilde saklayın.

  6. firebase komutlarını çalıştırırken bu belirteci kullanın. Aşağıdaki iki seçenekten birini kullanabilirsiniz:

    • Seçenek 1: Belirteci FIREBASE_TOKEN ortam değişkeni olarak saklayın. Sisteminiz jetonu otomatik olarak kullanacaktır.

    • Seçenek 2: Tüm firebase komutlarını CI sisteminizde --token TOKEN bayrağıyla çalıştırın.
      Belirteç yükleme için öncelik sırası şu şekildedir: bayrak, ortam değişkeni, istenen Firebase projesi.

Firebase projesini başlatın

Firebase projesine dağıtım yapmak gibi CLI kullanılarak gerçekleştirilen birçok yaygın görev, bir proje dizini gerektirir. firebase init komutunu kullanarak bir proje dizini oluşturursunuz. Bir proje dizini genellikle kaynak kontrol kökünüzle aynı dizindir ve firebase init çalıştırıldıktan sonra dizin bir firebase.json yapılandırma dosyası içerir.

Yeni bir Firebase projesi başlatmak için uygulamanızın dizininden aşağıdaki komutu çalıştırın:

firebase init

firebase init komutu, proje dizininizi ve bazı Firebase ürünlerini kurma konusunda size yol gösterir. Projenin başlatılması sırasında Firebase CLI sizden aşağıdaki görevleri tamamlamanızı ister:

  • Firebase projenizde kurulacak istediğiniz Firebase ürünlerini seçin.

    Bu adım, seçilen ürünler için belirli dosyalara yönelik yapılandırmaları ayarlamanızı ister. Bu yapılandırmalarla ilgili daha fazla ayrıntı için ilgili ürünün belgelerine bakın (örneğin, Hosting ). Daha fazla Firebase ürünü kurmak için firebase init daha sonra istediğiniz zaman çalıştırabileceğinizi unutmayın.

  • Varsayılan bir Firebase projesi seçin.

    Bu adım, mevcut proje dizinini bir Firebase projesiyle ilişkilendirir, böylece projeye özgü komutlar ( firebase deploy gibi) uygun Firebase projesine karşı çalışır.

    Birden fazla Firebase projesini (hazırlama projesi ve üretim projesi gibi) aynı proje dizini ile ilişkilendirmek de mümkündür.

Başlatma işleminin sonunda Firebase, yerel uygulama dizininizin kökünde aşağıdaki iki dosyayı otomatik olarak oluşturur:

firebase.json dosyası

firebase init komutu, proje dizininizin kökünde bir firebase.json yapılandırma dosyası oluşturur.

firebase.json dosyası, Firebase CLI ile varlıkları dağıtmak için gereklidir çünkü proje dizininizdeki hangi dosya ve ayarların Firebase projenize dağıtılacağını belirtir. Bazı ayarlar proje dizininizde veya Firebase konsolunda tanımlanabildiğinden olası dağıtım çakışmalarını çözdüğünüzden emin olun.

Firebase Barındırma seçeneklerinin çoğunu doğrudan firebase.json dosyasında yapılandırabilirsiniz. Ancak Firebase CLI ile dağıtılabilen diğer Firebase hizmetleri için firebase init komutu, Cloud Functions için bir index.js dosyası gibi, bu hizmetler için ayarları tanımlayabileceğiniz belirli dosyalar oluşturur. Ayrıca firebase.json dosyasında dağıtım öncesi veya dağıtım sonrası kancalar da ayarlayabilirsiniz.

Başlatma sırasında Firebase Hosting, Cloud Firestore ve Cloud Functions for Firebase'i (TypeScript kaynağı ve lint seçenekleri seçili olarak) seçerseniz, varsayılan ayarlara sahip örnek bir firebase.json dosyası aşağıdadır.

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "firestore": {
      "rules": "firestore.rules",
      "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

firebase.json varsayılan olarak kullanılsa da, alternatif bir yapılandırma dosyası belirlemek için --config PATH bayrağını iletebilirsiniz.

Birden fazla Cloud Firestore veri tabanı için yapılandırma

firebase init çalıştırdığınızda, firebase.json dosyanız yukarıda gösterildiği gibi projenizin varsayılan veritabanına karşılık gelen tek bir firestore anahtarı içerecektir.

Projeniz birden fazla Cloud Firestore veritabanı içeriyorsa firebase.json dosyanızı, farklı Cloud Firestore Güvenlik Kurallarını ve veritabanı dizini kaynak dosyalarını her veritabanıyla ilişkilendirecek şekilde düzenleyin. Dosyayı, her veritabanı için bir giriş olacak şekilde bir JSON dizisiyle değiştirin.

      "firestore": [
        {
          "database": "default",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

Dağıtımda yoksayılacak Cloud Functions dosyaları

İşlev dağıtım zamanında CLI, functions dizininde yoksayılacak dosyaların listesini otomatik olarak belirtir. Bu, dağıtımınızın veri boyutunu artırabilecek yabancı dosyaların arka uca dağıtılmasını önler.

JSON biçiminde gösterilen, varsayılan olarak yok sayılan dosyaların listesi şöyledir:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

firebase.json dosyasında ignore için kendi özel değerlerinizi eklerseniz, yukarıda gösterilen dosyaların listesini sakladığınızdan (veya eksikse eklediğinizden) emin olun.

Proje takma adlarını yönet

Birden fazla Firebase projesini aynı proje dizini ile ilişkilendirebilirsiniz. Örneğin, bir Firebase projesini sahneleme için, diğerini ise prodüksiyon için kullanmak isteyebilirsiniz. Farklı proje ortamlarını kullanarak değişiklikleri üretime dağıtmadan önce doğrulayabilirsiniz. firebase use komutu, takma adlar arasında geçiş yapmanıza ve yeni takma adlar oluşturmanıza olanak tanır.

Proje takma adı ekleyin

Proje başlatma sırasında bir Firebase projesi seçtiğinizde, projeye otomatik olarak default ad atanır. Ancak, projeye özgü komutların farklı bir Firebase projesinde çalıştırılmasına ancak yine de aynı proje dizinini kullanmasına izin vermek için proje dizininizden aşağıdaki komutu çalıştırın:

firebase use --add

Bu komut sizden başka bir Firebase projesi seçmenizi ve projeyi takma ad olarak atamanızı ister. Takma ad atamaları, proje dizininizin içindeki bir .firebaserc dosyasına yazılır.

Proje takma adlarını kullan

Atanan Firebase proje takma adlarını kullanmak için proje dizininizden aşağıdaki komutlardan herhangi birini çalıştırın.

Emretmek Tanım
firebase use Proje dizininiz için halihazırda tanımlanmış takma adların listesini görüntüleyin
firebase use \
PROJECT_ID|ALIAS
Tüm komutları belirtilen Firebase projesine karşı çalışacak şekilde yönlendirir.
CLI bu projeyi şu anda "aktif proje" olarak kullanıyor.
firebase use --clear Etkin projeyi temizler.

firebase use PROJECT_ID|ALIAS .

firebase use \
--unalias PROJECT_ALIAS
Bir takma adı proje dizininizden kaldırır.

--project bayrağını herhangi bir CLI komutuyla ileterek, şu anda etkin olan proje olarak kullanılanı geçersiz kılabilirsiniz. Örnek olarak: CLI'nizi staging adını atadığınız bir Firebase projesinde çalışacak şekilde ayarlayabilirsiniz. prod takma adını atadığınız Firebase projesine karşı tek bir komut çalıştırmak istiyorsanız, örneğin firebase deploy --project=prod çalıştırabilirsiniz.

Kaynak kontrolü ve proje takma adları

Genel olarak, ekibinizin proje takma adlarını paylaşmasına izin vermek için .firebaserc dosyanızı kaynak kontrolüne kontrol etmelisiniz. Ancak açık kaynaklı projeler veya başlangıç ​​şablonları için genellikle .firebaserc dosyanızı teslim etmemelisiniz.

Yalnızca kendi kullanımınıza yönelik bir geliştirme projeniz varsa, her komutla --project bayrağını iletebilir veya Firebase projesine bir takma ad atamadan firebase use PROJECT_ID komutunu çalıştırabilirsiniz.

Firebase projenizi yerel olarak yayınlayın ve test edin

Üretime dağıtmadan önce Firebase projenizi yerel olarak barındırılan URL'lerde görüntüleyebilir ve test edebilirsiniz. Yalnızca seçili özellikleri test etmek istiyorsanız, firebase serve komutundaki bayrakta virgülle ayrılmış bir liste kullanabilirsiniz.

Aşağıdaki görevlerden herhangi birini yapmak istiyorsanız, yerel proje dizininizin kökünden aşağıdaki komutu çalıştırın:

  • Firebase tarafından barındırılan uygulamanızın statik içeriğini görüntüleyin.
  • Firebase Hosting için dinamik içerik oluşturmak için Cloud Functions'ı kullanın ve Hosting'i yerel bir URL'de taklit etmek için üretim (dağıtılan) HTTP işlevlerinizi kullanmak istiyorsunuz.
firebase serve --only hosting

Yerel HTTP işlevlerini kullanarak projenizi taklit edin

Yerel HTTP işlevlerini kullanarak projenizi taklit etmek için proje dizininizden aşağıdaki komutlardan herhangi birini çalıştırın.

  • Yerel URL'lerde test etmek amacıyla HTTP işlevlerini ve barındırmayı taklit etmek için aşağıdaki komutlardan birini kullanın:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Yalnızca HTTP işlevlerini taklit etmek için aşağıdaki komutu kullanın:

    firebase serve --only functions

Diğer yerel cihazlardan test edin

Varsayılan olarak firebase serve yalnızca localhost gelen isteklere yanıt verir. Bu, barındırılan içeriğinize bilgisayarınızın web tarayıcısından erişebileceğiniz ancak ağınızdaki diğer cihazlardan erişemeyeceğiniz anlamına gelir. Diğer yerel cihazlardan test yapmak istiyorsanız --host bayrağını şu şekilde kullanın:

firebase serve --host 0.0.0.0  // accepts requests to any host

Firebase projesine dağıtma

Firebase CLI, aşağıdakiler dahil kod ve varlıkların Firebase projenize dağıtımını yönetir:

  • Firebase Barındırma sitelerinizin yeni sürümleri
  • Firebase için yeni, güncellenmiş veya mevcut Bulut İşlevleri
  • Firebase Gerçek Zamanlı Veritabanı Kuralları
  • Firebase için Bulut Depolama Kuralları
  • Cloud Firestore Kuralları
  • Cloud Firestore için Dizinler

Bir Firebase projesine dağıtım yapmak için proje dizininizden aşağıdaki komutu çalıştırın:

firebase deploy

İsteğe bağlı olarak dağıtımlarınızın her birine bir yorum ekleyebilirsiniz. Bu yorum, projenizin Firebase Barındırma sayfasında diğer dağıtım bilgileriyle birlikte görüntülenecektir. Örneğin:

firebase deploy -m "Deploying the best new feature ever."

firebase deploy komutunu kullanırken aşağıdakilere dikkat edin:

  • Kaynakları bir proje dizininden dağıtmak için proje dizininde bir firebase.json dosyası bulunmalıdır . Bu dosya firebase init komutu tarafından sizin için otomatik olarak oluşturulur.

  • firebase deploy varsayılan olarak proje dizininizdeki tüm dağıtılabilir kaynaklar için bir sürüm oluşturur. Belirli Firebase hizmetlerini veya özelliklerini dağıtmak için kısmi dağıtımı kullanın .

Güvenlik kuralları için dağıtım çakışmaları

Firebase Realtime Database, Cloud Storage for Firebase ve Cloud Firestore için güvenlik kurallarını yerel proje dizininizde veya Firebase konsolunda tanımlayabilirsiniz.

Dağıtım çakışmalarını önlemek için başka bir seçenek de kısmi dağıtımı kullanmak ve kuralları yalnızca Firebase konsolunda tanımlamaktır.

Dağıtım kotaları

Firebase dağıtım operasyonlarınızın hızını veya hacmini sınırlayan bir kotayı aşmanız mümkündür (her ne kadar pek olası olmasa da). Örneğin, çok sayıda işlevi dağıtırken HTTP 429 Quota hata mesajı alabilirsiniz. Bu tür sorunları çözmek için kısmi dağıtım kullanmayı deneyin.

Dağıtımı geri alma

İstediğiniz sürüm için Geri Alma eylemini seçerek, projenizin Firebase Hosting sayfasından Firebase Hosting dağıtımını geri alabilirsiniz.

Firebase Realtime Database, Cloud Storage for Firebase veya Cloud Firestore için güvenlik kuralları sürümlerini geri almak şu anda mümkün değildir.

Belirli Firebase hizmetlerini dağıtın

Yalnızca belirli Firebase hizmetlerini veya özelliklerini dağıtmak istiyorsanız, firebase deploy komutundaki işarette virgülle ayrılmış bir liste kullanabilirsiniz. Örneğin, aşağıdaki komut Firebase Hosting içeriğini ve Cloud Storage güvenlik kurallarını dağıtır.

firebase deploy --only hosting,storage

Aşağıdaki tabloda kısmi dağıtım için kullanılabilen hizmetler ve özellikler listelenmektedir. Bayraklardaki adlar, firebase.json yapılandırma dosyanızdaki anahtarlara karşılık gelir.

Bayrak söz dizimi Hizmet veya özellik dağıtıldı
--only hosting Firebase Barındırma içeriği
--only database Firebase Gerçek Zamanlı Veritabanı kuralları
--only storage Firebase kuralları için Cloud Storage
--only firestore Yapılandırılmış tüm veritabanları için Cloud Firestore kuralları ve dizinleri
--only functions Firebase için Bulut İşlevleri ( bu işaretin daha spesifik sürümleri mümkündür)

Belirli işlevleri dağıtın

İşlevleri dağıtırken belirli işlevleri hedefleyebilirsiniz. Örneğin:

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

Diğer bir seçenek de /functions/index.js dosyanızda işlevleri dışa aktarma grupları halinde gruplamaktır. İşlevlerin gruplanması, tek bir komut kullanarak birden çok işlevi dağıtmanıza olanak tanır.

Örneğin, bir groupA ve bir groupB tanımlamak için aşağıdaki işlevleri yazabilirsiniz:

var functions = require('firebase-functions');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

Bu örnekte, ayrı bir functions/groupB.js dosyası, groupB içindeki işlevleri özel olarak tanımlayan ek işlevler içerir. Örneğin:

var functions = require('firebase-functions');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

Bu örnekte, proje dizininizden aşağıdaki komutu çalıştırarak tüm groupA işlevlerini dağıtabilirsiniz:

firebase deploy --only functions:groupA

Veya aşağıdaki komutu çalıştırarak bir grup içindeki belirli bir işlevi hedefleyebilirsiniz:

firebase deploy --only functions:groupA.function1,groupB.function4

İşlevleri sil

Firebase CLI, önceden dağıtılan işlevleri silmek için aşağıdaki komutları ve seçenekleri destekler:

  • Tüm bölgelerde belirtilen adla eşleşen tüm işlevleri siler:

    firebase functions:delete FUNCTION-1_NAME

  • Varsayılan olmayan bir bölgede çalışan belirli bir işlevi siler:

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • Birden fazla işlevi siler:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • Belirtilen işlevler grubunu siler:

    firebase functions:delete GROUP_NAME

  • Onay istemini atlar:

    firebase functions:delete FUNCTION-1_NAME --force

Dağıtım öncesi ve dağıtım sonrası betikli görevleri ayarlama

Dağıtım öncesi veya dağıtım sonrası görevleri gerçekleştirmek için kabuk komut dosyalarını firebase deploy komutuna bağlayabilirsiniz. Örneğin, bir ön dağıtım komut dosyası, TypeScript kodunu JavaScript'e aktarabilir ve bir dağıtım sonrası kanca, yöneticileri Firebase Hosting'e dağıtılan yeni site içeriği konusunda bilgilendirebilir.

Dağıtım öncesi veya dağıtım sonrası kancaları ayarlamak için firebase.json yapılandırma dosyanıza bash komut dosyaları ekleyin. Kısa komut dosyalarını doğrudan firebase.json dosyasında tanımlayabilir veya proje dizininizdeki diğer dosyalara başvurabilirsiniz.

Örneğin, aşağıdaki komut dosyası, Firebase Hosting'e başarılı dağıtım sonrasında bir Slack mesajı gönderen bir dağıtım sonrası görevinin firebase.json ifadesidir.

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

messageSlack.sh komut dosyası proje dizininde bulunur ve şöyle görünür:

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

Dağıtabileceğiniz varlıkların herhangi biri için predeploy ve postdeploy kancalar ayarlayabilirsiniz. firebase deploy çalıştırmanın, firebase.json dosyanızda tanımlanan tüm dağıtım öncesi ve dağıtım sonrası görevleri tetiklediğini unutmayın. Yalnızca belirli bir Firebase hizmetiyle ilişkili görevleri çalıştırmak için kısmi dağıtım komutlarını kullanın .

Hem predeploy hem de postdeploy kancalar, komut dosyalarının standart çıktısını ve hata akışlarını terminale yazdırır. Arıza durumları için aşağıdakilere dikkat edin:

  • Bir ön dağıtım kancası beklendiği gibi tamamlanamazsa dağıtım iptal edilir.
  • Dağıtım herhangi bir nedenle başarısız olursa dağıtım sonrası kancalar tetiklenmez.

Ortam Değişkenleri

Dağıtım öncesi ve dağıtım sonrası kancalarında çalışan komut dosyalarında aşağıdaki ortam değişkenleri mevcuttur:

  • $GCLOUD_PROJECT : Etkin projenin proje kimliği
  • $PROJECT_DIR : firebase.json dosyasını içeren kök dizin
  • $RESOURCE_DIR : (Yalnızca hosting ve functions komut dosyaları için) Dağıtılacak Barındırma veya Bulut İşlevleri kaynaklarını içeren dizinin konumu

Birden çok Gerçek Zamanlı Veritabanı örneğini yönetin

Bir Firebase projesinde birden fazla Firebase Gerçek Zamanlı Veritabanı örneği bulunabilir. Varsayılan olarak, CLI komutları varsayılan veritabanı örneğinizle etkileşime girer.

Ancak, varsayılan olmayan bir veritabanı örneğiyle etkileşimi aşağıdakileri kullanarak gerçekleştirebilirsiniz: --instance DATABASE_NAME bayrağı. Aşağıdaki komutlar --instance bayrağını destekler:

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

Komut referansı

CLI yönetim komutları

Emretmek Tanım
yardım CLI veya belirli komutlarla ilgili yardım bilgilerini görüntüler.
içinde Geçerli dizinde yeni bir Firebase projesini ilişkilendirir ve kurar. Bu komut geçerli dizinde bir firebase.json yapılandırma dosyası oluşturur.
giriş yapmak Firebase hesabınızda CLI'nin kimliğini doğrular. Bir web tarayıcısına erişim gerektirir.
localhost erişime izin vermeyen uzak ortamlarda CLI'de oturum açmak için şunu kullanın: --no-localhost bayrağı.
giriş:ci Etkileşimli olmayan ortamlarda kullanılmak üzere bir kimlik doğrulama belirteci oluşturur.
çıkış Yap Firebase hesabınızdaki CLI oturumunu kapatır.
açık İlgili proje kaynaklarına bir tarayıcı açar.
projeler:liste Erişiminiz olan tüm Firebase projelerini listeler.
kullanmak CLI için etkin Firebase projesini ayarlar.
Proje takma adlarını yönetir.

Proje yönetimi komutları

Emretmek Tanım
Firebase projelerinin yönetimi
projeler:addfirebase Firebase kaynaklarını mevcut bir Google Cloud projesine ekler.
projeler:oluşturma Yeni bir Google Cloud projesi oluşturur ve ardından Firebase kaynaklarını yeni projeye ekler.
projeler:liste Erişiminiz olan tüm Firebase projelerini listeler.
Firebase Uygulamalarının Yönetimi (iOS, Android, Web)
uygulamalar:oluşturma Etkin projede yeni bir Firebase Uygulaması oluşturur.
uygulamalar:liste Etkin projedeki kayıtlı Firebase Uygulamalarını listeler.
uygulamalar:sdkconfig Firebase Uygulamasının Google hizmetleri yapılandırmasını yazdırır.
kurulum:web Kullanımdan kaldırıldı. Bunun yerine apps:sdkconfig kullanın ve platform bağımsız değişkeni olarak web belirtin.
Firebase Web Uygulamasının Google hizmetleri yapılandırmasını yazdırır.
SHA sertifika karmalarının yönetimi (yalnızca Android)
uygulamalar:android:sha:oluştur \
FIREBASE_APP_ID SHA_HASH
Belirtilen SHA sertifikası karmasını belirtilen Firebase Android Uygulamasına ekler.
uygulamalar:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
Belirtilen SHA sertifikası karmasını belirtilen Firebase Android Uygulamasından siler.
uygulamalar:android:sha:list \
FIREBASE_APP_ID
Belirtilen Firebase Android Uygulaması için SHA sertifikası karmalarını listeler.

Dağıtım ve yerel kalkınma

Bu komutlar, Firebase Hosting sitenizi dağıtmanıza ve sitenizle etkileşime girmenize olanak tanır.

Emretmek Tanım
dağıtmak Kodu ve varlıkları proje dizininizden etkin projeye dağıtır. Firebase Hosting için bir firebase.json yapılandırma dosyası gereklidir.
sert Firebase Hosting yapılandırmanızla yerel bir web sunucusu başlatır. Firebase Hosting için bir firebase.json yapılandırma dosyası gereklidir.

Uygulama Dağıtımı komutları

Emretmek Tanım
uygulama dağıtımı:dağıtma \
--app FIREBASE_APP_ID
Derlemeyi test kullanıcılarının kullanımına sunar.
uygulama dağıtımı:test kullanıcıları:ekleme Test kullanıcılarını projeye ekler.
uygulama dağıtımı:test kullanıcıları:kaldır Test kullanıcılarını projeden kaldırır.

Kimlik doğrulama (kullanıcı yönetimi) komutları

Emretmek Tanım
yetki:dışa aktarma Etkin projenin kullanıcı hesaplarını bir JSON veya CSV dosyasına aktarır. Daha fazla ayrıntı için auth:import ve auth:export sayfalarına bakın.
yetki:içe aktarma Kullanıcı hesaplarını bir JSON veya CSV dosyasından etkin projeye aktarır. Daha fazla ayrıntı için auth:import ve auth:export sayfalarına bakın.

Cloud Firestore komutları

Emretmek Tanım
yangın deposu:konumlar

Cloud Firestore veritabanınız için mevcut konumları listeleyin.

firestore:veritabanları: DATABASE_ID oluştur

Firebase projenizde yerel modda bir veritabanı örneği oluşturun.

Komut aşağıdaki bayrakları alır:

  • --location <bölge adı> veritabanının dağıtım konumunu belirtmek için. Mevcut konumları listelemek için firebase firestore:locations komutunu çalıştırabileceğinizi unutmayın. Gerekli .
  • --delete-protection <deleteProtectionState> belirtilen veritabanının silinmesine izin vermek veya silmek için. Geçerli değerler ENABLED veya DISABLED . Varsayılan DISABLED .
  • --point-in-time-recovery <PITRState> belirli bir noktaya kurtarmanın etkinleştirilip etkinleştirilmeyeceğini ayarlamak için. Geçerli değerler ENABLED veya DISABLED . Varsayılan DISABLED . İsteğe bağlı.
firestore:veritabanları:liste

Firebase projenizdeki veritabanlarını listeleyin.

firestore:veritabanları: DATABASE_ID alın

Firebase projenizde belirtilen bir veritabanı için veritabanı yapılandırmasını alın.

firestore:veritabanları: DATABASE_ID güncelle

Firebase projenizde belirtilen bir veritabanının veritabanı yapılandırmasını güncelleyin.

En az bir bayrak gereklidir. Komut aşağıdaki bayrakları alır:

  • --delete-protection <deleteProtectionState> belirtilen veritabanının silinmesine izin vermek veya silmek için. Geçerli değerler ENABLED veya DISABLED . Varsayılan DISABLED .
  • --point-in-time-recovery <PITRState> belirli bir noktaya kurtarmanın etkinleştirilip etkinleştirilmeyeceğini ayarlamak için. Geçerli değerler ENABLED veya DISABLED . Varsayılan DISABLED . İsteğe bağlı.
firestore:veritabanları: DATABASE_ID sil

Firebase projenizdeki bir veritabanını silin.

Firestore:dizinler

Firebase projenizdeki bir veritabanına ilişkin dizinleri listeleyin.

Komut aşağıdaki bayrağı alır:

  • --database DATABASE_ID dizinlerin listeleneceği veritabanının adını belirtmek için. Sağlanmazsa, varsayılan veritabanı için dizinler listelenir.
Firestore:sil

Etkin projenin veritabanındaki belgeleri siler. CLI'yi kullanarak bir koleksiyondaki tüm belgeleri yinelemeli olarak silebilirsiniz.

Cloud Firestore verilerinin CLI ile silinmesinin okuma ve silme maliyetlerine yol açacağını unutmayın. Daha fazla bilgi için bkz. Cloud Firestore faturalandırmasını anlama .

Komut aşağıdaki bayrağı alır:

  • --database DATABASE_ID belgelerin silindiği veritabanının adını belirtmek için. Belirtilmediği takdirde belgeler varsayılan veritabanından silinir. İsteğe bağlı.

Firebase komutları için Bulut İşlevleri

Emretmek Tanım
işlevler:yapılandırma:klon Başka bir projenin ortamını etkin Firebase projesine kopyalar.
işlevler:yapılandırma:alma Etkin projenin Bulut İşlevlerinin mevcut yapılandırma değerlerini alır.
işlevler:yapılandırma:ayarla Etkin projenin Bulut İşlevlerinin çalışma zamanı yapılandırma değerlerini saklar.
işlevler:yapılandırma:ayarlamayı kaldır Etkin projenin çalışma zamanı yapılandırmasından değerleri kaldırır.
işlevler:günlük Dağıtılan Cloud Functions'taki günlükleri okur.

Daha fazla bilgi için ortam yapılandırma belgelerine bakın.

Crashlytics komutları

Emretmek Tanım
Crashlytics:mappingfile:generateid \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML
Belirtilen Android kaynak (XML) dosyasında benzersiz bir eşleme dosyası kimliği oluşturur.
Crashlytics:mappingfile:yükleme \
--app= FIREBASE_APP_ID \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Bu uygulama için Proguard uyumlu bir eşleme (TXT) dosyası yükler ve bunu, belirtilen Android kaynak (XML) dosyasında belirtilen eşleme dosyası kimliğiyle ilişkilendirir.
Crashlytics:semboller:yükleme \
--app= FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Android'deki yerel kitaplık çökmeleri için Crashlytics uyumlu bir sembol dosyası oluşturur ve bunu Firebase sunucularına yükler.

Uzantı komutları

Emretmek Tanım
dahili Firebase Uzantıları komutlarının nasıl kullanılacağına ilişkin bilgileri görüntüler.
Etkin projede yüklü olan uzantı örneklerini listeler.
dahili:yapılandırma \
EXTENSION_INSTANCE_ID
Uzantı manifestinizdeki bir uzantı örneğinin parametre değerlerini yeniden yapılandırır.
dahili:bilgi \
PUBLISHER_ID/EXTENSION_ID
Bir uzantı hakkında ayrıntılı bilgi yazdırır.
dahili:kurulum \
PUBLISHER_ID/EXTENSION_ID
Uzantı bildiriminize yeni bir uzantı örneği ekler.
dahili:liste Bir Firebase projesinde yüklü olan tüm uzantı örneklerini listeler.
Her uzantının örnek kimliğini yazdırır.
dahili:kaldırma \
EXTENSION_INSTANCE_ID
Uzantı bildiriminizden bir uzantı örneğini kaldırır.
dahili:güncelleme \
EXTENSION_INSTANCE_ID
Bir uzantı örneğini, uzantı bildiriminizdeki en son sürüme günceller.
dahili:dışa aktarma Yüklü tüm uzantı örneklerini projenizden uzantı bildiriminize aktarır.

Uzantı yayıncısı komutları

Emretmek Tanım
dahili:dev:init Geçerli dizindeki yeni bir uzantı için bir iskelet kod tabanı başlatır.
dahili:dev:liste \
PUBLISHER_ID
Bir yayıncı tarafından yüklenen tüm uzantıların listesini yazdırır.
dahili:dev:kayıt Bir Firebase projesini uzantı yayıncı projesi olarak kaydeder.
dahili:dev:kullanımdan kaldır \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Sürüm yüklemiyle eşleşen uzantı sürümlerini kullanımdan kaldırır .
Bir sürüm yüklemi tek bir sürüm ( 1.0.0 gibi) veya bir sürüm aralığı ( >1.0.0 gibi) olabilir.
Hiçbir sürüm koşulu sağlanmazsa, o uzantının tüm sürümleri kullanımdan kaldırılır.
ext:dev:kullanımdan kaldırılmış \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Sürüm koşuluyla eşleşen uzantı sürümlerini kullanımdan kaldırır .
Bir sürüm yüklemi tek bir sürüm ( 1.0.0 gibi) veya bir sürüm aralığı ( >1.0.0 gibi) olabilir.
Hiçbir sürüm koşulu sağlanmadıysa, o uzantının tüm sürümlerinin kullanımdan kaldırılması.
dahili:dev:yükleme \
PUBLISHER_ID/EXTENSION_ID
Bir uzantının yeni bir sürümünü yükler.
dahili:dev:kullanım \
PUBLISHER_ID
Bir yayıncı tarafından yüklenen uzantılara ilişkin yükleme sayılarını ve kullanım ölçümlerini görüntüler.

Barındırma komutları

Emretmek Tanım
barındırma:devre dışı bırak

Etkin Firebase projesi için Firebase Barındırma trafiğine hizmet etmeyi durdurur.

Bu komutu çalıştırdıktan sonra projenizin Barındırma URL'sinde "Site Bulunamadı" mesajı görüntülenecektir.

Hosting sitelerinin yönetimi
firebase barındırma:siteler:oluşturma \
SITE_ID

Belirtilen SITE_ID kullanarak etkin Firebase projesinde yeni bir Barındırma sitesi oluşturur

(İsteğe bağlı) Aşağıdaki bayrağı ileterek yeni siteyle ilişkilendirilecek mevcut bir Firebase Web Uygulamasını belirtin: --app FIREBASE_APP_ID

firebase barındırma:siteler:sil \
SITE_ID

Belirtilen Barındırma sitesini siler

CLI, siteyi silmeden önce bir onay istemi görüntüler.

(İsteğe bağlı) Aşağıdaki işaretleri ileterek onay istemini atlayın: -f veya --force

firebase barındırma:siteler:get \
SITE_ID

Belirtilen Barındırma sitesi hakkındaki bilgileri alır

firebase barındırma:siteler:liste

Aktif Firebase projesi için tüm Barındırma sitelerini listeler

Önizleme kanallarının yönetimi
firebase barındırma:kanal:oluşturma \
CHANNEL_ID

Belirtilen CHANNEL_ID kullanarak varsayılan Barındırma sitesinde yeni bir önizleme kanalı oluşturur

Bu komut kanala dağıtılmaz.

firebase barındırma:kanal:sil \
CHANNEL_ID

Belirtilen önizleme kanalını siler

Bir sitenin canlı kanalını silemezsiniz.

firebase barındırma:kanal:dağıtım \
CHANNEL_ID

Barındırma içeriğinizi ve yapılandırmanızı belirtilen önizleme kanalına dağıtır

Önizleme kanalı henüz mevcut değilse bu komut, kanala dağıtılmadan önce varsayılan Barındırma sitesinde kanalı oluşturur.

firebase barındırma:kanal:liste Varsayılan Barındırma sitesindeki tüm kanalları ("canlı" kanal dahil) listeler
firebase barındırma:kanal:açık \
CHANNEL_ID
Belirtilen kanalın URL'sine bir tarayıcı açar veya tarayıcıda açmak mümkün değilse URL'yi döndürür
Sürüm klonlama
firebase barındırma: clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Belirtilen "Hedef" kanalına belirtilen "kaynak" kanalında en son dağıtılan sürüm

Bu komut ayrıca belirtilen "Hedef" kanalına da dağıtır. "Hedef" kanalı henüz mevcut değilse, bu komut kanala konuşlandırılmadan önce "Hedef" barındırma sitesinde yeni bir önizleme kanalı oluşturur.

Firebase Hosting: Clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Belirtilen sürümü belirtilen "Hedef" kanalına klonlar

Bu komut ayrıca belirtilen "Hedef" kanalına da dağıtır. "Hedef" kanalı henüz mevcut değilse, bu komut kanala konuşlandırılmadan önce "Hedef" barındırma sitesinde yeni bir önizleme kanalı oluşturur.

VERSION_ID Firebase konsolunun barındırma panosunda bulabilirsiniz.

Gerçek zamanlı veritabanı komutları

Firebase konsolunda veya genel firebase init iş akışını veya belirli firebase init database akışını kullanarak ilk, varsayılan gerçek zamanlı veritabanı örneğinizi oluşturabileceğinizi unutmayın.

Örnekler oluşturulduktan sonra, bunları birden çok gerçek zamanlı veritabanı örneklerinde tartışıldığı gibi yönetebilirsiniz.

Emretmek Tanım
Veritabanı: Al Aktif projenin veritabanından verileri alır ve JSON olarak görüntüler. Dizinli verilerde sorgulamayı destekler.
Veritabanı: Örnekler: Oluştur Belirli bir örnek adına sahip bir veritabanı örneği oluşturur. Belirli bir bölgede veritabanı oluşturmak için --location seçeneğini kabul eder. Bölge adlarının bu seçenekle kullanılabilmesi için, projeniz için yerleri seçin. Mevcut proje için herhangi bir veritabanı örneği yoksa, bir örnek oluşturmak için firebase init akışını çalıştırmanız istenir.
Veritabanı: Örnekler: Liste Bu proje için tüm veritabanı örneklerini listeleyin. Belirli bir bölgedeki veritabanlarını listelemek için --location seçeneğini kabul eder. Bölge adlarının bu seçenekle kullanılabilmesi için projeniz için seçim konumlarını seçin.
Veritabanı: Profil Aktif projenin veritabanındaki işlemlerin bir profili oluşturur. Daha fazla ayrıntı için, gerçek zamanlı veritabanı işlem türlerine bakın.
Veritabanı: Push Etkin projenin veritabanındaki belirli bir konumda yeni verileri bir listeye iter. Bir dosyadan, stdin veya bir komut satırı bağımsız değişkeninden girdi alır.
Veritabanı: Kaldır Tüm verileri etkin projenin veritabanındaki belirtilen bir yerde siler.
Veritabanı: Ayarla Tüm verileri, etkin projenin veritabanındaki belirtilen bir yerde değiştirir. Bir dosyadan, stdin veya bir komut satırı bağımsız değişkeninden girdi alır.
Veritabanı: Güncelleme Aktif Projenin veritabanında belirtilen bir yerde kısmi bir güncelleme gerçekleştirir. Bir dosyadan, stdin veya bir komut satırı bağımsız değişkeninden girdi alır.

Uzaktan yapılandırma komutları

Emretmek Tanım
RemoteConfig: Sürümler: Liste \
-Limit NUMBER_OF_VERSIONS
Şablonun en son on sürümünü listeler. Mevcut tüm sürümleri döndürmek için 0 belirtin veya isteğe bağlı olarak döndürülen sürüm sayısını sınırlamak için --limit seçeneğini geçin.
RemoteConfig: Al \
--v, VERSION_NUMBER
--o, çıktı FILENAME
Şablonu sürüm (varsayılan olarak en son sürüme) alır ve parametre gruplarını, parametreleri ve koşul adlarını ve sürümünü bir tabloya çıkarır. İsteğe bağlı olarak, çıktıyı -o, FILENAME ile belirli bir dosyaya yazabilirsiniz.
RemoteConfig: Geri Alma \
--v, VERSION_NUMBER
--güç
Uzaktan yapılandırma şablonunu belirli bir önceki sürüm numarasına geri döndürür veya varsayılan olarak önceki sürüme (geçerli sürüm -1). --force geçmedikçe, geri almaya devam etmeden önce Y/N'yi ister.