Firebase CLI referansı

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

Firebase KSA'yı kullanmadan önce, Firebase projesi oluşturun.

KSA'yı ayarlama veya güncelleme

Firebase CLI'ı yükleyin

Firebase KSA'yı, işletim sisteminize uygun bir yöntem kullanarak yükleyebilirsiniz deneyim düzeyi ve/veya kullanım alanı gibi sorular sorarsınız. CLI kullanıyorsanız aynı işleve ve firebase komutuna erişebilirsiniz.

Windows macOS Linux

Windows

Aşağıdakilerden birini kullanarak Windows için Firebase KSA'yı yükleyebilirsiniz: seçenekler:

Seçenek Açıklama Önerilen öneriler...
bağımsız ikili program KSA için bağımsız ikili programı indirin. Ardından, çalıştırabileceğiniz bir kabuk açın. firebase komutudur. Yeni geliştiriciler

Kullanmayan veya aşina olmayan geliştiriciler Düğüm.js
npm CLI'yı yüklemek ve etkinleştirmek için npm (Düğüm Paketi Yöneticisi) kullanın tüm dünyada kullanılabilen firebase komutudur. kullanan geliştiriciler Düğüm.js

bağımsız ikili program

Firebase KSA için ikili dosyayı indirip çalıştırmak için şu adımları uygulayın:

  1. İndirin: Şunun için Firebase CLI ikili programı: Windows'u seçin.

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

  3. Giriş yapma ve KSA'yı test etme işlemine devam edin.

npm

npm öğesini (Düğüm Paketi Yöneticisi) kullanarak Firebase CLI için şu adımları uygulayın:

  1. Şu komutu kullanarak Node.js'yi yükleyin: nvm-pencereler (Düğüm Sürümü Yöneticisi). Node.js'nin yüklenmesi otomatik olarak yüklenir npm komut araçlarını kullanabilirsiniz.

  2. Aşağıdaki komutu çalıştırarak npm üzerinden Firebase KSA'yı yükleyin:

    npm install -g firebase-tools

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

  3. Giriş yapma ve KSA'yı test etme işlemine devam edin.

macOS veya Linux

macOS veya Linux için Firebase KSA'yı şu uygulamalardan birini kullanarak yükleyebilirsiniz: şu seçeneklere sahiptir:

Seçenek Açıklama Önerilen öneriler...
otomatik yükleme komut dosyası İşletim sisteminizi otomatik olarak algılayan tek bir komut çalıştırarak en son CLI sürümünü indirir ve ardından dünya genelinde kullanılabilen firebase komutudur. Yeni geliştiriciler

Kullanmayan veya aşina olmayan geliştiriciler Düğüm.js

Otomatik dağıtımlar: CI/CD ortam
bağımsız ikili program KSA için bağımsız ikili programı indirin. Ardından, iş akışınıza uygun şekilde yapılandırıp çalıştırın. KSA kullanarak tamamen özelleştirilebilir iş akışları
npm CLI'yı yüklemek ve etkinleştirmek için npm (Düğüm Paketi Yöneticisi) kullanın tüm dünyada kullanılabilen firebase komutudur. kullanan geliştiriciler Düğüm.js

otomatik yükleme komut dosyası

Otomatik yükleme komut dosyasını kullanarak Firebase KSA'yı yüklemek için aşağıdaki talimatları uygulayın: şu adımları uygulayın:

  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 ve CLI'ın en son sürümünü içerir ve dünya genelinde kullanılabilenFirebase firebase komutudur.

  2. Giriş yapma ve KSA'yı test etme işlemine devam edin.

Otomatik yükleme komut dosyası hakkında daha fazla örnek ve ayrıntı için komut dosyasının kaynak kodunu firebase.tools ile çalışır.

bağımsız ikili program

Özgün Firebase KSA'sı için ikili programı indirip çalıştırmak üzere için şu adımları uygulayın:

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

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

    1. chmod +x ./firebase_tools komutunu çalıştırarak ikili programı yürütülebilir hale getirin.
    2. İkili programın yolunu YOL.
    ziyaret edin.
  3. Giriş yapma ve KSA'yı test etme işlemine devam edin.

npm

npm'yi (Düğüm Paketi Yöneticisi) kullanarak Firebase CLI'yı yüklemek için şu adımları uygulayın:

  1. Şu komutu kullanarak Node.js'yi yükleyin: nvm (Düğüm Sürümü Yöneticisi).
    Node.js'yi yüklemek otomatik olarak yüklenir npm komut araçlarını kullanın.

  2. Aşağıdaki komutu çalıştırarak npm üzerinden Firebase KSA'yı yükleyin:

    npm install -g firebase-tools

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

  3. Giriş yapma ve KSA'yı test etme işlemine devam edin.

Giriş yapın ve Firebase KSA'yı test edin

CLI'yı yükledikten sonra kimlik doğrulaması yapmanız gerekir. Ardından, kimlik doğrulaması yapabilirsiniz.

  1. Aşağıdaki komutu çalıştırarak Google Hesabınızla Firebase'e giriş yapın komut:

    firebase login

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

  2. CLI'ın düzgün şekilde yüklenip yüklenmediğini ve hesabınıza erişmek için Firebase projelerinizi listeleyebilirsiniz. Aşağıdaki komutu çalıştırın:

    firebase projects:list

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

KSA'yı en son sürümüne güncelleyin

Genellikle, en güncel Firebase KSA sürümünü kullanmak istersiniz.

CLI sürümünü nasıl güncelleyeceğiniz, işletim sisteminize ve kullandığınız CLI'ı yüklediğinden emin olun.

Windows

  • bağımsız ikili program: Yeni sürümünü kullanmayı tercih ederseniz sonra bunu sisteminizde değiştirin
  • npm: npm install -g firebase-tools komutunu çalıştırın

macOS

  • otomatik yükleme komut dosyası: curl -sL https://firebase.tools | upgrade=true bash komutunu çalıştırın
  • bağımsız ikili program: Yeni sürümünü kullanmayı tercih ederseniz 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 komutunu çalıştırın
  • bağımsız ikili program: Yeni sürümünü kullanmayı tercih ederseniz sisteminizde değiştirin
  • npm: npm install -g firebase-tools komutunu çalıştırın

KSA'yı CI sistemleriyle kullanma

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

  1. Tarayıcısı olan bir makinede, Firebase CLI'yı 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. Mevcut CLI oturumu etkilenmez.

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

  6. firebase komutlarını çalıştırırken bu jetonu kullanın. Şunu kullanabilirsiniz: şu iki seçenekten birini tercih edebilirsiniz:

    • 1. seçenek: Jetonu ortam değişkeni olarak saklama FIREBASE_TOKEN. Sisteminiz jetonu otomatik olarak kullanır.

    • 2. Seçenek: Tüm firebase komutlarını CI sisteminizde --token TOKEN işareti kullanın.
      . Jeton yükleme için öncelik sırası şudur: bayrak, ortam değişkeni, istenen Firebase projesi.

ziyaret edin.

Firebase projesini başlatma

CLI kullanılarak gerçekleştirilen birçok yaygın görev (ör. Firebase'e dağıtım yapmak) bir proje dizini gerektirir. Proje dizini oluşturuyorsunuz firebase init komutunu kullanabilirsiniz. Proje dizini genellikle aynı olur dizinini kaynak kontrol kök olarak ayarlayın ve firebase init çalıştırıldıktan sonra, dizin bir firebase.json yapılandırması içeriyor dosyası olarak kaydedebilirsiniz.

Yeni bir Firebase projesini başlatmak için uygulamanın dizini:

firebase init

firebase init komutu, proje dizininizi oluşturma adımlarında size yol gösterir ve bazı Firebase ürünlerinde kullanılır. Proje başlatma sırasında Firebase KSA sizden aşağıdaki görevleri tamamlamanızı ister:

  • Firebase projenizde ayarlanacak Firebase ürünlerini seçin.

    Bu adımda, Search Ads 360'a yönelik belirli dosyalara yönelik yapılandırmaları seçili ürünler. Bu yapılandırmalar hakkında daha fazla bilgi için belirli ürün belgeleri (örneğin, Hosting) tıklayın. Lütfen daha fazla Firebase ürünü ayarlamak için firebase init sonradan istediğiniz zaman çalıştırabilirsiniz.

  • Varsayılan bir Firebase projesi seçin.

    Bu adım, geçerli proje dizinini bir Firebase projesiyle ilişkilendirir. komut dosyasına göre çalışan, projeye özgü komutların (firebase deploy gibi) doğru Firebase projesini kullanın.

    Ayrıca bir sürü birden çok Firebase projesi ilişkilendirme (ör. hazırlık projesi ve üretim projesi) aynı projenin dizin.

Başlatma işleminin sonunda Firebase otomatik olarak aşağıdaki iki kodu oluşturur dosyaları oluşturun:

  • Aşağıdakileri içeren bir firebase.json yapılandırma dosyası en iyi uygulamaları gözden geçirmelisiniz.

  • Projenizi depolayan .firebaserc dosyası takma adlar ekleyebilirsiniz.

firebase.json dosyası

firebase init komutu, firebase.json yapılandırma dosyası oluşturun.

firebase.json dosyası şunları yapmak için gereklidir: Öğeleri Firebase KSA ile dağıtın çünkü proje dizininizden hangi dosyaların ve ayarların Firebase projesi. Bazı ayarlar ya projenizde tanımlanabileceğinden dizini veya Firebase konsolu kullanıyorsanız olası sorunları dağıtım çakışmaları.

Firebase Hosting seçeneklerinin çoğunu yapılandırabilirsiniz. doğrudan firebase.json dosyasına gönderebilirsiniz. Ancak, Firebase KSA ile dağıtılabilen Firebase hizmetleri, firebase init komutu, ayarları tanımlayabileceğiniz belirli dosyalar oluşturur oluşturabilirsiniz. Örneğin Cloud Functions için index.js dosyası. Şunları yapabilirsiniz: ayrıca firebase.json dosyasında predeploy veya postdeploy kancaları ayarlayın.

Aşağıda, varsayılan ayarları olan bir firebase.json dosyası örneği verilmiştir: Firebase Hosting, Cloud Firestore ve Cloud Functions for Firebase seçilecek (TypeScript kaynak ve lint seçenekleri seçiliyken) görebilirsiniz.

{
  "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 yöntem belirtmek için --config PATH işareti yapılandırma dosyası.

Birden fazla Cloud Firestore veritabanı için yapılandırma

firebase init komutunu çalıştırdığınızda firebase.json dosyanız tek bir Aşağıda gösterildiği gibi, projenizin varsayılan veritabanına karşılık gelen firestore anahtarı bölümünü ziyaret edin.

Projeniz birden fazla Cloud Firestore veritabanı içeriyorsa firebase.json ile farklı Cloud Firestore Security Rules ve her veritabanı için veritabanı dizini kaynak dosyalarına ekleyin. Dosyayı şununla değiştirin: Her veritabanı için bir giriş içeren JSON dizisi.

      "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 dosya

İşlev dağıtım anında CLI, işlev dağıtımı sırasında functions dizinindeki yoksayılacak dosyaların listesi. Bu gereksiz dosyalara dağıtım yapmayı önler. dağıtımınızın veri boyutunu artırır.

Varsayılan olarak yoksayılan dosyaların JSON biçiminde gösterildiği liste:

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

firebase.json içinde 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önetme

Aynı proje diziniyle birden fazla Firebase projesini ilişkilendirebilirsiniz. Örneğin, hazırlık için bir Firebase projesini, diğerini de gerekir. Farklı proje ortamları kullanarak değişiklikleri doğrulayabilirsiniz hakkında daha fazla bilgi edinin. firebase use komutu, sonuçlar arasında geçiş yapmanızı sağlar takma adlar ve yeni takma adlar oluşturabilirsiniz.

Proje takma adı ekleyin

Proje sırasında bir Firebase projesi seçtiğinizde başlatma durumunda, proje otomatik olarak default e-posta adresine sahip kullanıcının takma adı atandı. Ancak projeye özel komutların çalışırken aynı projeyi kullanmaya devam edebilir aşağıdaki komutu proje dizininizden çalıştırın:

firebase use --add

Bu komut, başka bir Firebase projesi seçmenizi ve takma ad olarak ekleyebilirsiniz. Takma ad atamaları, içindeki bir .firebaserc dosyasına yazılır oluşturmanız gerekir.

Proje takma adlarını kullanma

Atanmış Firebase proje takma adlarını kullanmak için şu komutlardan birini çalıştırın: inceleyebilirsiniz.

Komut Açıklama
firebase use Proje dizininiz için şu anda tanımlanmış olan takma adların listesini görüntüleyin
firebase use \
PROJECT_ID|ALIAS
Tüm komutları, belirtilen Firebase projesinde çalışacak şekilde yönlendirir.
KSA, bu projeyi şu anda "etkin proje" olarak kullanır.
firebase use --clear Etkin projeyi temizler.

Ayarlamak için firebase use PROJECT_ID|ALIAS komutunu çalıştırın yeni bir etkin projede çalıştırmanız gerekir.

firebase use \
--unalias PROJECT_ALIAS
Proje dizininizden bir takma adı kaldırır.

Şu anda etkin olan proje olarak kullanılmakta olan projeleri --project işaretini kullanabilirsiniz. Örneğin: staging atadığınız Firebase projesinde çalıştırılacak KSA takma ad'dır. Firebase projesinde komut çalıştırmanıza izin verecek prod takma adını atadıysanız firebase deploy --project=prod.

Kaynak denetimi ve proje takma adları

Genel olarak, .firebaserc dosyanızı kaynak denetimine kontrol etmeniz gerekir. ekibinizin proje takma adlarını paylaşmasına izin verin. Ancak açık kaynak projeleri veya başlangıç şablonları için genellikle .firebaserc dosyanızı kontrol etmemeniz gerekir.

Yalnızca kullanımınıza yönelik bir geliştirme projeniz varsa, her komutla --project işaretini kullanın veya firebase use PROJECT_ID kullanıcısına bir takma ad atamadan Firebase projesiyle ilgili.

Firebase projenizi yerel olarak sunma ve test etme

Firebase projenizi yerel olarak barındırılan URL'lerde görüntüleyebilir ve test edebilirsiniz. ve üretime dağıtmayı öğreneceğiz. Sadece belirli özellikleri test etmek istiyorsanız firebase serve komutundaki bir bayrakta virgülle ayrılmış liste.

Aşağıdaki komutu yerel proje dizininizin kök dizininden çalıştırın: aşağıdakilerden birini yapmanız gerekir:

firebase serve --only hosting

Yerel HTTP işlevlerini kullanarak projenizi emüle etme

Proje dizininizde şu komutların herhangi birini çalıştırarak yerel HTTP işlevlerini kullanarak projeye ekleyebilirsiniz.

  • Yerel URL'lerde test etmek üzere HTTP işlevlerine ve barındırmaya öykünmek için aşağıdaki komutlardan birini seçin:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Yalnızca HTTP işlevlerine öykünmek 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 kaynağından gelen isteklere yanıt verir. Bu Diğer bir deyişle, barındırılan içeriğinize bilgisayarınızın web yalnızca ağınızdaki diğer cihazlardan değil. Denemek istiyorsanız diğer yerel cihazlarda --host işaretini kullanın. Örneğin:

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

Firebase projesine dağıtma

Firebase KSA, kod ve öğelerin Firebase'inize dağıtımını yönetir şunları içerir:

  • Firebase Hosting sitenizin yeni yayınları
  • Yeni, güncellenmiş veya mevcut Cloud Functions for Firebase
  • Firebase Realtime Database kuralları
  • Cloud Storage for Firebase kuralları
  • Cloud Firestore kuralları
  • Cloud Firestore dizinleri

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

firebase deploy

İsteğe bağlı olarak, dağıtımlarınızın her birine yorum ekleyebilirsiniz. Bu yorumla projenizin diğer dağıtım bilgileriyle birlikte Firebase Hosting sayfasını ziyaret edin. Örneğin:

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

firebase deploy komutunu kullanırken şunlara dikkat edin:

  • Bir proje dizininden kaynak dağıtmak için proje dizini firebase.json dosyası olmalıdır. Bu dosya tarafından sizin için otomatik olarak oluşturulan firebase init komutunun bir örneğini burada bulabilirsiniz.

  • Varsayılan olarak firebase deploy, tüm dağıtılabilir kaynaklar için bir sürüm oluşturur inceleyebilirsiniz. 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 şurada tanımlayabilirsiniz: Firebase konsolu.

Dağıtım çakışmalarını önlemenin diğer bir yolu da kısmi dağıtım kullanın ve Firebase konsolu.

Dağıtım kotaları

Bazı durumlarda, genellikle çok kısa bir süre içinde Firebase dağıtım işlemlerinizin hızı veya hacmi. Örneğin, çok sayıda işlev dağıtıyorsanız HTTP 429 Quota mesajının gösterilmesini sağlar. Bu tür sorunları çözmek için kısmi dağıtımdan yararlanın.

Dağıtımı geri çekme

Bir Firebase Hosting dağıtımını projenizin şuradan geri alabilirsiniz: Firebase Hosting sayfasını ziyaret ederek İstenen sürüm için Geri Al işlemi.

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

Belirli Firebase hizmetlerini dağıtma

Yalnızca belirli Firebase hizmetlerini veya özelliklerini dağıtmak istiyorsanız virgülle ayrılmış listesi firebase deploy komutuna bir bayrak olarak eklenir. Örneğin, aşağıdaki komut Firebase Hosting içeriğini dağıtır ve Cloud Storage güvenlik kuralı.

firebase deploy --only hosting,storage

Aşağıdaki tabloda kısmi müşteri hizmetleri için kullanılabilecek hizmetler ve özellikler dağıtım. Bayraklardaki adlar, firebase.json yapılandırma dosyası.

İşaretleme söz dizimi Dağıtılan hizmet veya özellik
--only hosting Firebase Hosting içerik
--only database Firebase Realtime Database kural
--only storage Cloud Storage for Firebase kural
--only firestore Yapılandırılmış tüm veritabanları için Cloud Firestore kuralları ve dizinler
--only functions Cloud Functions for Firebase (bu işaretin daha spesifik sürümleri mümkündür)

Belirli işlevleri dağıtma

İş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, işlevlerinizi /functions/index.js dosyası yükleyin. İşlevleri gruplandırma, birden fazla reklam öğesi dağıtmanıza işlevlerini tek bir komutla kontrol edebilirsiniz.

Örneğin, bir groupA ve bir groupB:

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

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

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

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

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

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

firebase deploy --only functions:groupA

Alternatif olarak, aşağıdaki komutu çalıştırarak grup içindeki belirli bir işlevi hedefleyebilirsiniz. komut:

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

İşlevleri silin

Firebase CLI, aşağıdaki komutları ve seçenekleri destekler: önceden dağıtılmış işlevler siliniyor:

  • 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 belirtilen 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 bir işlev 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ı komut dosyası içeren görevleri ayarlama

Şu işlemleri gerçekleştirmek için kabuk komut dosyalarını firebase deploy komutuna bağlayabilirsiniz: ya da dağıtımdan sonra yapmalarını sağlar. Örneğin, bir predeploy komut dosyası TypeScript kodunu JavaScript'e aktarırsanız postdeploy kancası Firebase Hosting alan adına yapılan yeni site içeriğinin yöneticileri.

Predeploy veya postdeploy kancaları ayarlamak için firebase.json yapılandırma dosyası. Anahtar kelimelerin kısa komut dosyalarını doğrudan firebase.json dosyasına kaydedebilir veya diğer dosyaları oluşturmak için kullanabilirsiniz.

Örneğin, aşağıdaki komut dosyası, bir öğenin firebase.json başarılı dağıtım sonrasında Slack mesajı gönderen "postdeploy" görevi Firebase Hosting.

"hosting": {
  // ...

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

messageSlack.sh komut dosyası, proje dizininde bulunur ve aşağıdaki gibidir:

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

Şunların herhangi biri için predeploy ve postdeploy kancaları ayarlayabilirsiniz: dağıtabileceğiniz öğeler. firebase deploy çalıştırıldığında, Şurada tanımlanan tüm predeploy ve postdeploy görevlerini firebase.json dosyası. Yalnızca belirli bir öğeyle ilişkili görevleri çalıştırmak için Firebase hizmeti için kısmi dağıtım komutları kullanın.

Hem predeploy hem de postdeploy kancaları standart çıkışı ve hatayı yazdırır komut dosyası akışlarının terminale aktarılmasını sağlar. Hata durumlarında aşağıdakileri göz önünde bulundurun:

  • Önceden dağıtım kancası beklendiği gibi tamamlanamazsa dağıtım iptal edilir.
  • Dağıtım herhangi bir nedenle başarısız olursa postdeploy kancaları tetiklenmez.

Ortam değişkenleri

Predeploy ve postdeploy kancalarında çalışan komut dosyalarında aşağıdaki kullanılabilir:

  • $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) Hosting veya Dağıtılacak Cloud Functions kaynak var

Birden çok Realtime Database örneğini yönetin

Bir Firebase projesinde birden fazla Firebase Realtime Database örneği görebilirsiniz. Ölçüt CLI komutları default olarak veritabanı örneğinizle etkileşime girer.

Ancak şunu kullanarak varsayılan olmayan bir veritabanı örneğiyle etkileşim kurabilirsiniz: --instance DATABASE_NAME işareti. İlgili içeriği oluşturmak için kullanılan aşağıdaki komutlar --instance işaretini 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ı

Komut Açıklama
yardım KSA veya belirli komutlarla ilgili yardım bilgilerini görüntüler.
init Geçerli dizinde yeni bir Firebase projesini ilişkilendirir ve oluşturur. Bu komut, firebase.json yapılandırma dosyasını da ekleyebilirsiniz.
login KSA'nın kimliğini Firebase hesabınızla doğrular. Bir web tarayıcısı.
. Erişime izin vermeyen uzak ortamlarda CLI'ya giriş yapmak için localhost, --no-localhost bağlantısını kullanın tıklayın.
login:ci Etkileşimsiz içeriklerde kullanmak üzere bir kimlik doğrulama jetonu oluşturur ortam olarak da bilinir.
çıkış KSA'nın Firebase hesabınızdaki oturumunu kapatır.
İlgili proje kaynaklarının bulunduğu bir tarayıcı açar.
projeler:liste Erişiminiz olan tüm Firebase projelerini listeler.
kullan KSA için etkin Firebase projesini ayarlar.
. Proje takma adlarını yönetir.

Proje yönetimi komutları

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

Dağıtım ve yerel geliştirme

Bu komutlar Firebase Hosting sitenizi dağıtmanıza ve sitenizle etkileşime geçmenize olanak tanır.

Komut Açıklama
dağıtma Proje dizininizdeki kod ve öğeleri etkin dizine dağıtır belirler. Firebase Hosting için bir firebase.json yapılandırma dosyası gereklidir.
yayınla Firebase Hosting yapılandırmanızla bir yerel web sunucusu başlatır. Firebase Hosting için bir firebase.json yapılandırma dosyası gereklidir.

App Distribution komutları

Komut Açıklama
app Distribution:deploy \
--uygulama FIREBASE_APP_ID
Derlemeyi test kullanıcılarının kullanımına sunar.
appdistribution:testers:add Projeye test kullanıcıları ekler.
app Distribution:testers:remove Test kullanıcılarını projeden kaldırır.

App Hosting komutları

Komut Açıklama
apphosting:backends:create \
--proje PROJECT_ID
--konum REGION --uygulama APP_ID
Tek bir kod tabanına bağlı yönetilen kaynakların koleksiyonunu oluşturur bir App Hosting arka ucundan oluşur. İsteğe bağlı olarak mevcut bir Firebase uygulama kimliğine göre Firebase web uygulaması.
apphosting:backends:get \
BACKEND_ID --PROJECT_IDprojesi
--konum REGION
Bir arka ucun herkese açık URL'si de dahil olmak üzere belirli ayrıntıları alır.
apphosting:backends:list \
--PROJECT_ID
projesi
Bir projeyle ilişkili tüm etkin arka uçların listesini alır.
firebase apphosting:backends:delete \
BACKEND_ID --PROJECT_IDprojesi
--konum REGION
Projeden bir arka ucu siler.
apphosting:secrets:set \
KEY --proje PROJECT_ID
--konum REGION --veri-dosyası Data file
Gizli materyalleri Secret Manager'da saklar. İsteğe bağlı olarak bir gizli verilerin okunacağı dosya yolu. Okumak için _ olarak ayarlayın standart girişten gizli anahtar verileri.
apphosting:secrets:grantaccess \
KEY --proje PROJECT_ID BACKEND_ID
--konum REGION
arka uç hizmet hesabı tarafından erişilebilmesi için, verilen gizli anahtara Derleme veya çalışma zamanında App Hosting.
apphosting:secrets:açıkla \
KEY --proje PROJECT_ID
Bir gizli anahtar ve sürümlerinin meta verilerini alır.
firebase apphosting:secrets:access \

KEY[@version] --PROJECT_ID projesi
Gizli anahtara ve sürümüne uygun gizli anahtar değerine erişir. Varsayılan olarak en son sürüme erişilir.

Authentication (kullanıcı yönetimi) komutları

Komut Açıklama
auth:export Etkin projenin kullanıcı hesaplarını bir JSON veya CSV dosyasına aktarır. Örneğin, daha fazla bilgi için auth:içe aktarma ve auth:export öğrenin.
auth:içe aktarma Kullanıcı hesaplarını bir JSON veya CSV dosyasından etkin klasöre aktarır belirler. Daha ayrıntılı bilgi için auth:içe aktarma ve auth:export öğrenin.

Cloud Firestore komutları

Komut Açıklama
firestore:konumlar

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

firestore:databases:create DATABASE_ID

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

Komut şu işaretleri alır:

  • --location <region name> (bölge adı) alt bölgesini belirtmek için dağıtım konumunu ekleyebilirsiniz. Çalıştırabileceğinizi unutmayın Mevcut listelemek için firebase firestore:locations yerler. Zorunludur.
  • --delete-protection <deleteProtectionState> izin vermek veya önlemek için Google Ads'e aktarmanızı sağlar. Geçerli değerler ENABLED veya DISABLED. Varsayılan değer: DISABLED
  • --point-in-time-recovery <PITRState>: belirli bir noktadan önceyi kurtarma özelliğinin etkin olup olmadığını ayarlayın. Geçerli değerler: ENABLED veya DISABLED. Varsayılan değer: DISABLED İsteğe bağlı.
firestore:databases:list

Firebase projenizdeki veritabanlarını listeleme.

firestore:databases:get DATABASE_ID

Şurada belirtilen bir veritabanı için veritabanı yapılandırmasını alma: Firebase projesi.

firestore:databases:update DATABASE_ID

Firebase projesi.

En az bir işaret gerekir. Komut şu işaretleri alır:

  • --delete-protection <deleteProtectionState> izin vermek veya önlemek için Google Ads'e aktarmanızı sağlar. Geçerli değerler ENABLED veya DISABLED. Varsayılan değer: DISABLED
  • --point-in-time-recovery <PITRState>: belirli bir noktadan önceyi kurtarma özelliğinin etkin olup olmadığını ayarlayın. Geçerli değerler: ENABLED veya DISABLED. Varsayılan değer: DISABLED İsteğe bağlı.
firestore:databases:sil DATABASE_ID

Firebase projenizden bir veritabanını silin.

firestore:indexes

Firebase projenizdeki bir veritabanının dizinlerini listeleme.

Komut şu işareti alır:

  • --veritabanı DATABASE_ID - dizinlerin listeleneceği veritabanının adını belirtin. Değilse sağlandığında dizinler varsayılan veritabanına ilişkin olarak listelenir.
firestore:sil

Etkin projenin veritabanındaki belgeleri siler. KSA'yı kullanarak yinelemeli olarak koleksiyondaki tüm dokümanları silebilirsiniz.

CLI ile Cloud Firestore verilerinin silinmesi için, silmelisiniz. Daha fazla bilgi için bkz. Cloud Firestore faturalandırmasını anlama.

Komut şu işareti alır:

  • --veritabanı DATABASE_ID ifadesini girin. Eğer belirtilmezse dokümanlar varsayılan veritabanından silinir. İsteğe bağlı.

Cloud Functions for Firebase komutları

Komut Açıklama
functions:config:clone Başka bir projenin ortamını etkin Firebase'e klonlar belirler.
functions:config:get Aktif projenin Cloud Functions
functions:config:set Etkin projenin çalışma zamanı yapılandırma değerlerini, Cloud Functions
functions:config:unset Etkin projenin çalışma zamanı yapılandırmasındaki değerleri kaldırır.
functions:log Dağıtılan Cloud Functions günlükleri okur.

Daha fazla bilgi için ortama bakın yapılandırma dokümanlarını inceleyin.

Crashlytics komutları

Komut Açıklama
crashlytics:mappingfile:generateid \
--kaynak-dosyası=PATH/TO/ANDROID_RESOURCE.XML
Belirtilen Android kaynağında benzersiz bir eşleme dosyası kimliği oluşturur (XML) dosyası olarak kaydedin.
crashlytics:mappingfile:yükle \
--app=FIREBASE_APP_ID \
--kaynak-dosyası=PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Bu uygulama için ProGuard uyumlu bir eşleme (TXT) dosyası yükler, ve belirtilen Android kaynak (XML) dosyası olarak ayarlayın.
crashlytics:simgeler:yükleme \
--app=FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Yerel kitaplık için Crashlytics uyumlu bir sembol dosyası oluşturur kilitlenmelerini sağlar ve Firebase sunucularına yükler.

Extensions komutları

Komut Açıklama
uzantı Firebase Extensions komutlarının nasıl kullanılacağıyla ilgili bilgileri görüntüler.
. Etkin projede yüklü uzantı örneklerini listeler.
ext:yapılandırma \
EXTENSION_INSTANCE_ID
Şuradaki bir uzantı örneğinin parametre değerlerini yeniden yapılandırır: extension manifest ifadesini kullanın.
ext:bilgi \
PUBLISHER_ID/EXTENSION_ID
Uzantıyla ilgili ayrıntılı bilgileri yazdırır.
ext:yükleme \
PUBLISHER_ID/EXTENSION_ID
Bir uzantının yeni bir örneğini extension manifest ifadesini kullanın.
ext:liste Bir Firebase projesinde yüklü tüm uzantı örneklerini listeler.
. Her uzantının örnek kimliğini yazdırır.
ext:uninstall \
EXTENSION_INSTANCE_ID
Bir uzantı örneğini extension manifest ifadesini kullanın.
ext:güncelleme \
EXTENSION_INSTANCE_ID
Bir uzantı örneğini extension manifest ifadesini kullanın.
ext:dışa aktarma Projenizdeki tüm yüklü uzantı örneklerini extension manifest ifadesini kullanın.

Extensions yayıncı komutu

Komut Açıklama
ext:dev:init Mevcut dizin.
ext:dev:list \
PUBLISHER_ID
Bir yayıncı tarafından yüklenen tüm uzantıların listesini yazdırır.
ext:dev:register Bir Firebase projesini uzantılar yayıncı projesi.
ext:dev:desteği sonlandırılmış \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Desteği sonlandırır sürüm koşuluyla eşleşen uzantı sürümlerini kullanabilirsiniz.
. Sürüm koşulu, tek sürüm (1.0.0 gibi) olabilir. veya sürüm aralığı (>1.0.0 gibi).
Sürüm koşulu sağlanmazsa bu uzantının tüm sürümlerini kullanımdan kaldırır.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Kullanımdan kaldırır sürüm koşuluyla eşleşen uzantı sürümlerini kullanabilirsiniz.
. Sürüm koşulu, tek sürüm (1.0.0 gibi) olabilir. veya sürüm aralığı (>1.0.0 gibi).
Sürüm koşulu sağlanmazsa bu uzantının tüm sürümlerini kullanımdan kaldırır.
ext:dev:yükleme \
PUBLISHER_ID/EXTENSION_ID
Bir uzantının yeni sürümünü yükler.
ext:dev:usage \
PUBLISHER_ID
Şu kullanıcı tarafından yüklenen uzantıların yükleme sayılarını ve kullanım metriklerini gösterir: bir yayıncıyım.

Hosting komutları

Komut Açıklama
hosting:devre dışı bırakma

Etkin Firebase için Firebase Hosting trafiği yayınlamayı durdurur belirler.

Projenizin Hosting URL'sinde "Site Bulunamadı" ifadesi gösterilir mesaj komutunu çalıştırın.

Hosting sitenin yönetimi
firebase barındırma:sites:create \
SITE_ID

Etkin Firebase projesinde şunu kullanarak yeni bir Hosting sitesi oluşturur: belirtilmiş: SITE_ID

(İsteğe bağlı) İlişkilendirilecek mevcut bir Firebase Web Uygulaması belirtin yeni siteyle iletişim kurmanız gerekir: --app FIREBASE_APP_ID

firebase Hosting:sites:delete \
SITE_ID

Belirtilen Hosting sitesini siler

KSA, siteyi silmeden önce bir onay istemi gösterir.

(İsteğe bağlı) şu işaretler: -f veya --force

firebase Hosting:sites:get \
SITE_ID

Belirtilen Hosting sitesi hakkında bilgi alır

firebase Hosting:sites:list

Etkin Firebase projesi için Hosting sitenin tümünü listeler

Önizleme kanallarını yönetme
firebase barındırma:channel:create \
CHANNEL_ID

Şurada yeni bir önizleme kanalı oluşturur: varsayılan Hosting sitesi, belirtilen CHANNEL_ID

Bu komut kanala dağıtılmaz.

firebase Hosting:channel:delete \
CHANNEL_ID

Belirtilen önizleme kanalını siler

Bir sitenin canlı kanalını silemezsiniz.

firebase Hosting:channel:deploy \
CHANNEL_ID

Hosting içeriğinizi ve yapılandırmanızı belirtilen önizleme kanalı

Önizleme kanalı henüz yoksa bu komut, varsayılan Hosting sitesinde kanal kontrol edin.

firebase Hosting:channel:list "Canlı" kanal dahil olmak üzere, tüm kanalları varsayılan Hosting site
firebase Hosting:channel:open \
CHANNEL_ID
Belirtilen kanalın URL'sini açmak için bir tarayıcı açar veya URL'yi döndürür Tarayıcıda açmak mümkün değilse
Sürüm klonlama
firebase Hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Belirtilen "kaynak" üzerinde en son dağıtılan sürümü klonlar kanalın belirtilen "hedefe" kanal

Bu komut, belirtilen "hedefe" de dağıtılır yardımcı olur. Öğe "hedef" kanal henüz mevcut değil. Bu komut yeni bir kanal oluşturur "hedef" içinde kanalı önizle Şuna dağıtımdan önce Hosting site: kanalla ilgilidir.

firebase Hosting:clone \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Belirtilen sürümü belirtilen "hedefe" klonlar kanal

Bu komut, belirtilen "hedefe" de dağıtılır yardımcı olur. Öğe "hedef" kanal henüz mevcut değil. Bu komut yeni bir kanal oluşturur "hedef" içinde kanalı önizle Şuna dağıtımdan önce Hosting site: kanalla ilgilidir.

VERSION_ID için Hosting kontrol paneli Firebase konsolu.

Realtime Database komutları

Başlangıçtaki varsayılan Realtime Database örneğinizi Firebase konsolunu kullanarak veya genel firebase init iş akışını veya firebase init database akışı.

Oluşturulan örnekleri şurada açıklandığı gibi yönetebilirsiniz: Birden çok Realtime Database örneğini yönetin.

Komut Açıklama
database:get Etkin projenin veritabanından verileri getirir ve JSON biçimindedir. Dizine eklenen verilerde sorgulamayı destekler.
database:instances:create Belirtilen örnek adıyla veritabanı örneği oluşturur. Kabul eder belirtilen bir konumda veritabanı oluşturmak için --location seçeneği bölge. Bu seçenekle kullanılacak bölge adları için bkz. projeniz için konum seçme Geçerli proje için veritabanı örneği yoksa firebase init akışını çalıştırarak örnek oluşturun.
database:instances:list Bu projenin tüm veritabanı örneklerini listeleyin. Şunu kabul eder: Belirtilen veri tabanını listelemek için kullanılan --location seçeneği bölge. Bu seçenekle kullanılacak bölge adları için bkz. projeniz için konum seçme
database:profile Etkin projenin veritabanında işlem profili oluşturur. Örneğin, ayrıntılı bilgi için Realtime Database işlem türü.
database:push Yeni verileri etkin dizinde belirli bir konumdaki bir listeye aktarır veri tabanını da kilitleyebilir. Bir dosyadan, STDIN'den veya komut satırından giriş alır bağımsız değişkeninin önüne geçer.
database:kaldırma Etkin projenin belirli bir konumdaki tüm verileri
database:set Projenin etkin projedeki belirli bir konumdaki tüm verileri Bir dosyadan, STDIN'den veya bir komut satırı bağımsız değişkeninden giriş alır.
database:update Etkin dizinin belirtilen bir yerinde kısmi güncelleme yapar: veri tabanını da kilitleyebilir. Bir dosyadan, STDIN'den veya komut satırından giriş alır bağımsız değişkeninin önüne geçer.

Remote Config komutları

Komut Açıklama
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
Şablonun en son on sürümünü listeler. Belirtin: Mevcut tüm sürümleri döndürmek için 0 veya isteğe bağlı olarak sayısını sınırlandırmak için --limit seçeneğini geri döndürülüyor.
remoteconfig:get \
--v, sürüm_numarası VERSION_NUMBER
--o, çıkış FILENAME
Şablonu sürüme göre alır (varsayılan olarak en son sürüme ayarlanır) ve parametre gruplarını, parametreleri ve koşul adlarını ve bir tabloya dönüştürülebilir. İsterseniz çıktıyı -o, FILENAME içeren belirtilen bir dosya.
remoteconfig:rollback \
--v, sürüm_numarası VERSION_NUMBER
--kuvvet
Remote Config şablonu belirtilen bir sürüme geri döndürür sayısı veya varsayılan olarak hemen önceki sürüme (geçerli sürüm -1) ayarlanır. --force geçilmediği sürece istem E/H şeklindedir inceleyin.