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.
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:
firebase
komutunu çalıştırabileceğiniz bir kabuk açmak için ikili dosyaya erişin.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:
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.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.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:
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.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:
İşletim sisteminiz için Firebase CLI ikili dosyasını indirin: macOS | Linux
(İsteğe bağlı) Küresel olarak kullanılabilen
firebase
komutunu ayarlayın.-
chmod +x ./firebase_tools
komutunu çalıştırarak ikili dosyayı yürütülebilir hale getirin. - İkili dosyanın yolunu PATH'inize ekleyin.
-
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:
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.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.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.
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.
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.
Tarayıcısı olan bir makineye Firebase CLI'yi yükleyin .
Aşağıdaki komutu çalıştırarak oturum açma işlemini başlatın:
firebase login:ci
Sağlanan URL'yi ziyaret edin ve ardından bir Google hesabı kullanarak giriş yapın.
Yeni bir yenileme jetonu yazdırın. Mevcut CLI oturumu etkilenmeyecektir.
Çıkış belirtecini CI sisteminizde güvenli ancak erişilebilir bir şekilde saklayın.
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:
Proje yapılandırmanızı listeleyen bir
firebase.json
yapılandırma dosyası.Proje takma adlarınızı saklayan bir
.firebaserc
dosyası.
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 \ | 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 \ | 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
ç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 dosyafirebase 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ızcahosting
vefunctions
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:
|
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:
|
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:
|
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:
|
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 (İsteğe bağlı) Aşağıdaki bayrağı ileterek yeni siteyle ilişkilendirilecek mevcut bir Firebase Web Uygulamasını belirtin: |
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: |
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 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. |
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. |