Firebase KSA (GitHub) işlevi Firebase projelerini yönetmek, görüntülemek ve dağıtmak için çeşitli araçlar.
Firebase CLI'yi kullanmadan önce bir 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'yi nasıl yüklediğinizden bağımsız olarak aynı işlevlere ve firebase
komutuna erişebilirsiniz.
Windows
Windows için Firebase CLI'yi aşağıdaki seçeneklerden birini kullanarak yükleyebilirsiniz:
Seçenek | Açıklama | Önerilen öneriler... |
---|---|---|
bağımsız ikili | CLI için bağımsız ikili dosyayı indirin. Ardından, yürütülebilir dosyaya erişerek firebase komutunu çalıştırabileceğiniz bir kabuk açabilirsiniz.
|
Yeni geliştiriciler Node.js kullanmayan veya bu platformu bilmeyen geliştiriciler |
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 CLI'nin ikili dosyasını indirip çalıştırmak için aşağıdaki adımları uygulayın:
Firebase Windows için CLI ikilisini indirin.
firebase
komutunu çalıştırabileceğiniz bir kabuk açmak için ikili dosyaya erişin.Giriş yapıp KSA'yı test etmeye devam edin.
npm
Firebase CLI'yi yüklemek için npm
(Node Package Manager) kullanmak istiyorsanız aşağıdaki adımları uygulayın:
Ş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.Aşağıdaki komutu çalıştırarak
npm
üzerinden Firebase KSA'yı yükleyin:npm install -g firebase-tools
Bu komut, dünya genelinde kullanılabilen
firebase
komutunu etkinleştirir.Giriş yapıp KSA'yı test etmeye devam edin.
macOS veya Linux
macOS veya Linux için Firebase CLI'yi aşağıdaki seçeneklerden birini kullanarak yükleyebilirsiniz:
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 Node.js kullanan veya bu platformu bilmeyen geliştiriciler CI/CD ortamında otomatik dağıtımlar |
bağımsız ikili program | KSA için bağımsız ikili programı indirin. Ardından, ikili dosyayı iş akışınıza uygun şekilde yapılandırıp çalıştırabilirsiniz. | KSA'yı 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.
|
Node.js kullanan geliştiriciler |
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:
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 KSA sürümünü indirir ve ardından dünya genelinde kullanılabilen
firebase
komutunu etkinleştirir.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:
İşletim sisteminiz için Firebase CLI ikilisini indirin: macOS | Linux
(İsteğe bağlı) Genel olarak kullanılabilen
firebase
komutunu ayarlayın.chmod +x ./firebase_tools
komutunu çalıştırarak ikili programı yürütülebilir hale getirin.- İkili dosyanın yolunu PATH değişkeninize ekleyin.
Giriş yapıp KSA'yı test etmeye devam edin.
npm
npm
'yi (Düğüm Paketi Yöneticisi) kullanarak Firebase CLI'yı yüklemek için
şu adımları uygulayın:
Şu komutu kullanarak Node.js'yi yükleyin: nvm (Düğüm Sürümü Yöneticisi).
Node.js'yi yüklemek otomatik olarak yüklenirnpm
komut araçlarını kullanın.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.Giriş yapma ve KSA'yı test etme işlemine devam edin.
Giriş yapıp Firebase CLI'yi test etme
CLI'yı yükledikten sonra kimlik doğrulaması yapmanız gerekir. Ardından, Firebase projelerinizi listeleyerek kimlik doğrulaması yapabilirsiniz.
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 Firebase projelerinize erişim izni verir.
Firebase projelerinizi listeleyerek CLI'nin düzgün şekilde yüklenip yüklenmediğini ve hesabınıza erişip erişmediğini test edin. 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 CLI'yi nasıl yüklediğinize bağlıdır.
Windows
- Bağımsız ikili: Yeni sürümü indirin, ardından sisteminizdeki sürümü 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
dosyasını çalıştırın. - Bağımsız ikili: Yeni sürümü indirin, ardından sisteminizdeki sürümü 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
dosyasını çalıştırın. - Bağımsız ikili: Yeni sürümü indirin, ardından sisteminizdeki sürümü değiştirin
- npm:
npm install -g firebase-tools
dosyasını çalıştırın
KSA'yı CI sistemleriyle kullanma
Firebase CLI'nin kimlik doğrulamayı tamamlaması için bir tarayıcı gerekir ancak CLI, CI ve diğer headless ortamlarla tam uyumludur.
Tarayıcı bulunan 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 etkilenmez.
Çıkış jetonunu CI sisteminizde güvenli ancak erişilebilir bir şekilde depolayın.
firebase
komutlarını çalıştırırken bu jetonu kullanın. Aşağıdaki iki seçenekten birini kullanabilirsiniz:1. Seçenek: Jetonu
FIREBASE_TOKEN
ortam değişkeni olarak depolayın. Sisteminiz jetonu otomatik olarak kullanır.2. Seçenek: Tüm
firebase
komutlarını CI sisteminizde--token TOKEN
işaretiyle çalıştırın.
Jeton yükleme için öncelik sırası: işaret, ortam değişkeni, istenen Firebase projesi.
Firebase projesini başlatma
CLI kullanılarak gerçekleştirilen yaygın görevlerden bazıları (ör. Firebase projesine dağıtma) için proje dizini gerekir. firebase init
komutunu kullanarak bir proje dizini oluşturursunuz. 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. Projenin başlatılması sırasında Firebase CLI sizden aşağıdaki görevleri tamamlamanızı ister:
Firebase projenizde ayarlamak istediğiniz Firebase ürünlerini seçin.
Bu adımda, seçili ürünler için belirli dosyalar için yapılandırmalar belirlemeniz istenir. Bu yapılandırmalar hakkında daha fazla bilgi için ilgili ürünün dokümanlarına (ör. Hosting) bakın. Daha fazla Firebase ürünü ayarlamak için dilediğiniz zaman
firebase init
'ı çalıştırabileceğinizi unutmayın.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.
İlklendirmenin sonunda Firebase, yerel uygulama dizininizin kökünde aşağıdaki iki dosyayı otomatik olarak oluşturur:
Aşağıdakileri içeren bir
firebase.json
yapılandırma dosyası en iyi uygulamaları gözden geçirmelisiniz.Projenizin takma adlarını depolayan bir
.firebaserc
dosyası.
firebase.json
dosyası
firebase init
komutu,
firebase.json
yapılandırma dosyası oluşturun.
firebase.json
dosyası, proje dizininizdeki hangi dosya ve ayarların Firebase projenize dağıtılacağını belirttiği için öğeleri Firebase CLI ile dağıtmak için gereklidir. 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 init
komutu, Firebase CLI ile dağıtılabilen diğer Firebase hizmetleri için bu hizmetlerle ilgili ayarları tanımlayabileceğiniz belirli dosyalar oluşturur (ör. Cloud Functions için bir index.js
dosyası). firebase.json
dosyasında yayından önce veya yayından sonra kancaları da ayarlayabilirsiniz.
Aşağıda, başlatma sırasında Firebase Hosting, Cloud Firestore ve Cloud Functions for Firebase'ı (TypeScript kaynağı ve lint seçenekleri seçili olarak) seçerseniz varsayılan ayarlara sahip örnek bir firebase.json
dosyası verilmiştir.
{
"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.
Projenizde birden fazla Cloud Firestore veritabanı varsa her veritabanı ile farklı Cloud Firestore Security Rules ve veritabanı dizini kaynak dosyalarını ilişkilendirmek için firebase.json
dosyanızı düzenleyin. 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
dizininde 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 yok sayılan dosyaların JSON biçiminde gösterilen listesi:
"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 dosya listesini koruduğunuzdan (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 projesi, üretim için başka bir Firebase projesi kullanmak isteyebilirsiniz. Farklı proje ortamları 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ı ekleme
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ı, proje dizininizdeki bir .firebaserc
dosyasına yazılır.
Proje takma adlarını kullanma
Atanmış Firebase proje takma adlarını kullanmak için proje dizininizden aşağıdaki komutlardan birini çalıştırın.
Komut | Açıklama |
---|---|
firebase use |
Proje dizininiz için şu anda tanımlanmış takma adların listesini görüntüleme |
firebase use \ |
Tüm komutların belirtilen Firebase projesinde çalıştırılmasını sağlar.
CLI, bu projeyi şu anda "etkin proje" olarak kullanır. |
firebase use --clear |
Etkin projeyi temizler.
Diğer KSA komutlarını çalıştırmadan önce yeni bir etkin proje ayarlamak için |
firebase use \ |
Proje dizininizden bir takma adı kaldırır. |
--project
işaretini herhangi bir CLI komutuyla ileterek şu anda etkin proje olarak kullanılan projeyi geçersiz kılabilirsiniz. Örneğin: CLI'nizi, staging
takma adını atadığınız bir Firebase projesinde çalıştıracak şekilde ayarlayabilirsiniz. prod
takma adını atadığınız Firebase projesine karşı tek bir komut çalıştırmak istiyorsanız örneğin
komutunu çalıştırabilirsiniz.
Kaynak denetimi ve proje takma adları
Genel olarak, ekibinizin proje takma adlarını paylaşmasına izin vermek için .firebaserc
dosyanızı kaynak denetimine eklemeniz gerekir. Ancak açık kaynak projeleri veya
başlangıç şablonları için genellikle .firebaserc
dosyanızı kontrol etmemeniz gerekir.
Yalnızca sizin kullanabileceğiniz bir geliştirme projeniz varsa her komutla birlikte --project
işaretini iletebilir veya Firebase projesine bir takma ad atamadan firebase use PROJECT_ID
'i çalıştırabilirsiniz.
Firebase projenizi yerel olarak sunma ve test etme
Firebase projenizi üretime dağıtmadan önce yerel olarak barındırılan URL'lerde görüntüleyebilir ve test edebilirsiniz. Yalnızca belirli özellikleri test etmek istiyorsanız firebase serve
komutunda virgülle ayrılmış bir liste kullanabilirsiniz.
Aşağıdaki komutu yerel proje dizininizin kök dizininden çalıştırın: aşağıdakilerden birini yapmanız gerekir:
- Firebase tarafından barındırılan uygulamanızın statik içeriğini görüntüleyin.
- Şunun için dinamik içerik oluşturmak üzere: Cloud Functions Firebase Hosting kullanıyorsanız ve Yerel URL'de Hosting emülasyonunu kullanmak için production (dağıtıldı) HTTP işlevleri.
firebase serve --only hosting
Yerel HTTP işlevlerini kullanarak projenizi taklit etme
Projenizi yerel HTTP işlevlerini kullanarak taklit etmek için proje dizininizden aşağıdaki komutlardan birini çalıştırın.
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şlevlerini taklit etmek için aşağıdaki komutu kullanın:
firebase serve --only functions
Diğer yerel cihazlardan test etme
Varsayılan olarak, firebase serve
yalnızca localhost
kaynağından 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 etmek istiyorsanız --host
işaretini kullanın. Örneğin:
firebase serve --host 0.0.0.0 // accepts requests to any host
Firebase projesine dağıtma
Firebase CLI, Firebase projenize kod ve öğe dağıtımını yönetir. Örneğin:
- Firebase Hosting sitenizin yeni yayınları
- Yeni, güncellenmiş veya mevcut Cloud Functions for Firebase
- Firebase Data Connect için yeni veya güncellenmiş şemalar ve bağlayıcılar
- Firebase Realtime Database için kurallar
- Cloud Storage for Firebase için kurallar
- Cloud Firestore için kurallar
- Cloud Firestore dizinleri
Bir Firebase projesine dağıtmak için proje dizininizden aşağıdaki komutu çalıştırın:
firebase deploy
İsterseniz 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 aşağıdakilere 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şturulanfirebase init
komutunun bir örneğini burada bulabilirsiniz.Varsayılan olarak
firebase deploy
, 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 şurada tanımlayabilirsiniz: Firebase konsol.
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 Firebase Realtime Database, Cloud Storage for Firebase veya Cloud Firestore için güvenlik kurallarının sürümlerini geri almak mümkün değildir.
Belirli Firebase hizmetlerini dağıtma
Yalnızca belirli Firebase hizmetlerini veya özelliklerini dağıtmak istiyorsanız firebase deploy
komutundaki bir işarette virgül ile ayrılmış bir liste kullanabilirsiniz. Ö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 dağıtım için kullanılabilen hizmetler ve özellikler listelenmiştir. İşaretçilerdeki adlar, firebase.json
yapılandırma dosyanızdaki anahtarlara karşılık gelir.
İşaret söz dizimi | Dağıtılan hizmet veya özellik |
---|---|
--only hosting |
Firebase Hosting içerik |
--only database |
Firebase Realtime Database kural |
--only dataconnect |
Firebase Data Connect şema ve bağlayıcı |
--only storage |
Cloud Storage for Firebase kural |
--only firestore |
Yapılandırılmış tüm veritabanları için Cloud Firestore kuralları ve dizinleri |
--only functions |
Cloud Functions for Firebase (bu işaretin daha spesifik sürümleri mümkündür) |
Belirli işlevleri dağıtma
İşlev 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ı oluşturun. İşlevleri gruplandırmak birden fazla
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, daha önce dağıtılan işlevleri silmek için aşağıdaki komutları ve seçenekleri destekler:
Belirtilen adla eşleşen tüm işlevleri tüm bölgelerde 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 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 sonrası komut dosyası görevleri oluşturma
Dağıtım öncesi veya sonrası görevleri gerçekleştirmek için kabuk komut dosyalarını firebase deploy
komutuna bağlayabilirsiniz. Örneğin, dağıtım öncesi komut dosyası TypeScript kodunu JavaScript'e derleyebilir ve dağıtım sonrası kanca, yöneticileri Firebase Hosting'ye dağıtılan yeni site içeriği hakkında bilgilendirebilir.
Predeploy veya postdeploy kancaları ayarlamak için
firebase.json
yapılandırma dosyası. Kısa komut dosyalarını doğrudan firebase.json
dosyasında tanımlayabilir veya proje dizininizdeki diğer dosyalara referans verebilirsiniz.
Örneğin, aşağıdaki komut dosyası, Firebase Hosting adresine başarılı bir dağıtım yapıldıktan sonra Slack mesajı gönderen bir dağıtım sonrası görevi için firebase.json
ifadesidir.
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
messageSlack.sh
komut dosyası, proje dizininde bulunur ve şu şekilde görünür:
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ırmanın, firebase.json
dosyanızda tanımlanan tüm dağıtım öncesi ve 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ı 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:
- Bir dağıtım öncesi kanca 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
Dağıtım öncesi ve sonrası kancalarında çalışan komut dosyalarında aşağıdaki ortam değişkenleri kullanılabilir:
$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 Hosting veya Cloud Functions kaynaklarını içeren dizinin konumu
Birden çok Realtime Database örneğini yönetin
Firebase projelerinde birden fazla Firebase Realtime Database örneği olabilir. Ö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
--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 |
---|---|
help | CLI 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, geçerli dizinde bir firebase.json yapılandırma dosyası oluşturur. |
login | CLI'nin Firebase hesabınızla kimliğini doğrular. Bir
web tarayıcısı.localhost 'a erişime izin vermeyen uzak ortamlarda CLI'ye |
login:ci | Etkileşimsiz içeriklerde kullanmak üzere bir kimlik doğrulama jetonu oluşturur ortam olarak da bilinir. |
çıkış | CLI'nin Firebase hesabınızdaki oturumunu kapatır. |
open | İlgili proje kaynaklarını içeren bir tarayıcı açar. |
projects:list | Erişiminizin olduğu 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. | |
projeler:oluştur | Yeni bir Google Cloud projesi oluşturur, ardından Firebase kaynaklarını şuraya ekler: karar vermenize yardımcı olacaktır. | |
projects:list | Erişiminizin olduğu 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 kullanın ve platform bağımsız değişkeni olarak web 'i belirtin.Bir Firebase web uygulamasının Google hizmetleri yapılandırmasını yazdırır. |
|
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ına ekler. | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
Belirtilen SHA sertifika karmasını belirtilen Firebase Android uygulamasından siler. | |
apps:android:sha:list \ FIREBASE_APP_ID |
Belirtilen Firebase Android uygulamasının SHA sertifika karmalarını listeler. |
Dağıtım ve yerel geliştirme
Bu komutlar, Firebase Hosting sitenizi dağıtmanıza ve sitenizle etkileşim kurmanıza olanak tanır.
Komut | Açıklama |
---|---|
dağıtma | Proje dizininizdeki kodu ve öğeleri etkin projeye dağıtır. Firebase Hosting için bir
firebase.json
yapılandırma dosyası gereklidir.
|
yayınla | Firebase Hosting yapılandırmanızı kullanarak yerel bir web sunucusu başlatır.
Firebase Hosting için bir firebase.json yapılandırma dosyası gereklidir. |
App Distribution komutları
Komut | Açıklama |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
Derlemeyi test kullanıcılarının kullanımına sunar. |
app Distribution: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 \ --project PROJECT_ID \ --location REGION --app 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 / --proje PROJECT_ID \ --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 PROJECT_ID \ --location REGION |
Projeden bir arka ucu siler. |
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
Manuel olarak tetiklenen bir kullanıma sunma işlemi oluşturur. . İsteğe bağlı olarak bir dala veya belirli bir kaydetmedeki en son kaydı belirtin. Eğer herhangi bir seçenek sağlanmaz, dallar listesinden seçim istenir. |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
Gizli materyalleri Secret Manager'da depolar. . İsteğe bağlı olarak, gizli anahtar verilerinin okunacağı bir dosya yolu belirtin. Standart girişten gizli verileri okumak için _ olarak ayarlayın.
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID / --PROJECT_ID projesi \ --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:describe
KEY \ --project PROJECT_ID |
Bir gizli anahtarın 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ı JSON veya CSV dosyasına aktarır. Daha fazla bilgi için auth:import ve auth:export sayfasına bakın. |
auth:import | Kullanıcı hesaplarını JSON veya CSV dosyasından etkin projeye aktarır. Daha fazla bilgi için auth:import ve auth:export sayfasına bakın. |
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 aşağıdaki işaretçileri alır:
|
firestore:databases:list |
Firebase projenizdeki veritabanlarını listeleyin. |
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 projenizdeki belirli bir veritabanının veritabanı yapılandırmasını güncelleyin. En az bir işaret gereklidir. Komut şu işaretleri alır:
|
firestore:databases:sil DATABASE_ID |
Firebase projenizdeki bir veritabanını silin. |
firestore:indexes |
Firebase projenizdeki bir veritabanının dizinlerini listeleme. Komut aşağıdaki işaretçiyi alır:
|
firestore:sil |
Etkin projenin veritabanındaki dokümanları siler. KSA'yı kullanarak yinelemeli olarak koleksiyondaki tüm dokümanları silebilirsiniz. Cloud Firestore verilerini CLI ile silmenin okuma ve silme maliyetlerine yol açtığını unutmayın. Daha fazla bilgi için bkz. Cloud Firestore faturalandırmasını anlama. Komut şu işareti alır:
|
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 | Etkin projenin mevcut yapılandırma değerlerini alırCloud Functions. |
functions:config:set | Etkin projenin çalışma zamanı yapılandırma değerlerini saklarCloud 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'ten 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 kaynak (XML) dosyasında benzersiz bir eşleme dosyası kimliği oluşturur. |
crashlytics:mappingfile:upload \ --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 bu dosyayı, belirtilen Android kaynağı (XML) dosyasında tanımlanan eşleme dosyası kimliğiyle ilişkilendirir. |
crashlytics:simgeler:yükleme \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Android'de yerel kitaplık kilitlenmeleri için Crashlytics uyumlu bir simge dosyası oluşturur ve bu dosyayı Firebase sunucularına yükler. |
Data Connect komutları
Bu komutlar ve kullanım alanları şurada daha ayrıntılı olarak ele alınmıştır: Data Connect KSA referans kılavuzu.
Komut | Açıklama |
---|---|
dataconnect:services:list | Firebase'inizde dağıtılan tüm Data Connect hizmetlerini listeler belirler. |
dataconnect:sql:diff \ SERVICE_ID |
Belirtilen hizmet için yerel bir sunucu ile Data Connect şeması ve Cloud SQL veritabanı şemanız. |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
Cloud SQL veritabanınızın şemasını yerel ayarlarınızla eşleşecek şekilde taşır Data Connect şeması. |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
SQL rolünü, belirtilen kullanıcı veya hizmet hesabı e-postasına verir.
--role işareti için verilecek SQL rolü şulardan biridir:
owner , writer veya reader .
--email işaretçisi için, rolü atamak istediğiniz kullanıcının veya hizmet hesabının e-posta adresini sağlayın.
|
dataconnect:sdk:generate | Data Connect bağlayıcılarınız için yazılan SDK'lar oluşturur. |
Extensions komutları
Komut | Açıklama |
---|---|
ext | Firebase Extensions komutlarının nasıl kullanılacağıyla ilgili bilgileri gösterir. Etkin projeye yüklenen 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:install \ PUBLISHER_ID/EXTENSION_ID |
Bir uzantının yeni bir örneğini extension manifest ifadesini kullanın. |
ext:list | 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:update \ EXTENSION_INSTANCE_ID |
Bir uzantı örneğini extension manifest ifadesini kullanın. |
ext:export | Yüklü tüm uzantı örneklerini projenizden uzantı manifestinize aktarır. |
Extensions yayıncı komutları
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ı yayıncı projesi olarak kaydeder. |
ext:dev:desteği sonlandırılmış \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Sürüm önermeyle eşleşen uzantı sürümlerini desteklenmeyecek. Sürüm ön ekliği tek bir sürüm ( 1.0.0 gibi) veya bir sürüm aralığı (>1.0.0 gibi) olabilir.Sürüm ön ekliği sağlanmazsa söz konusu uzantının tüm sürümleri için desteği sonlandırılır. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Sürüm önermeyle eşleşen uzantı sürümlerinin desteklenmesini sonlandırır. Sürüm ön ekliği tek bir sürüm ( 1.0.0 gibi) veya bir sürüm aralığı (>1.0.0 gibi) olabilir.Sürüm ön ekliği sağlanmazsa söz konusu uzantının tüm sürümlerinin desteği sonlandırılmaz. |
ext:dev:upload \ 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:disable |
Etkin Firebase için Firebase Hosting trafiği yayınlamayı durdurur belirler. Bu komut çalıştırıldıktan sonra projenizin Hosting URL'sinde "Site Bulunamadı" mesajı gösterilir. |
Hosting sitenin yönetimi | |
firebase hosting:sites:create \ SITE_ID |
Belirtilen (İsteğe bağlı) Aşağıdaki işaretçiyi ileterek yeni siteyle ilişkilendirilecek mevcut bir Firebase web uygulamasını belirtin:
|
firebase Hosting:sites:delete \ SITE_ID |
Belirtilen Hosting sitesini siler CLI, siteyi silmeden önce bir onay istemi görüntüler. (İsteğe bağlı) Aşağıdaki işaretçileri ileterek onay istemini atlayın: |
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ın yönetimi | |
firebase barındırma:channel:create \ CHANNEL_ID |
Şurada yeni bir önizleme kanalı oluşturur:
varsayılan Hosting sitesi, belirtilen
Bu komut kanala dağıtılmaz. |
firebase hosting:channel:delete \ CHANNEL_ID |
Belirtilen önizleme kanalını siler Sitelerin canlı kanallarını silemezsiniz. |
firebase hosting:channel:deploy \ CHANNEL_ID |
Hosting içeriğinizi ve yapılandırmanızı belirtilen önizleme kanalına dağıtır Önizleme kanalı henüz mevcut değilse bu komut, kanalı dağıtmadan önce varsayılan Hosting sitesinde oluşturur. |
firebase Hosting:channel:list | Varsayılan Hosting sitesindeki tüm kanalları ("canlı" kanal dahil) listeler |
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 "hedef" kanala da dağıtılır. "Hedef" kanal henüz mevcut değilse bu komut, kanala dağıtımdan önce "hedef" Hosting 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 "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.
|
Realtime Database komutları
İlk, varsayılan Realtime Database örneğinizi Firebase konsolunda veya genel firebase init
iş akışını ya da belirli firebase init database
akışını kullanarak oluşturabileceğinizi unutmayın.
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 veri alır ve JSON olarak gösterir. Dizine eklenen verilerde sorgu yapmayı destekler. |
database:instances:create | Belirtilen örnek adıyla veritabanı örneği oluşturur. Belirtilen bir bölgede veritabanı oluşturmak için --location seçeneğini kabul eder. Bu seçenekle kullanılacak bölge adları için bkz.
projeniz için konum seçme
Mevcut proje için veritabanı örneği yoksa örnek oluşturmak üzere firebase init akışını çalıştırmanız istenir.
|
database:instances:list | Bu projenin tüm veritabanı örneklerini listeleyin. Belirli bir bölgede veritabanı listelemeyi sağlayan --location seçeneğini kabul eder. Bu seçenekle kullanılacak bölge adları için projeniz için konum seçme bölümüne bakın. |
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ı kilitleyebilirsiniz. Dosya, STDIN veya komut satırı bağımsız değişkeninden giriş alır. |
database:kaldırma | Etkin projenin belirli bir konumdaki tüm verileri |
database:set | Projenin etkin projedeki belirli bir konumdaki tüm verileri Dosya, STDIN veya 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ı kilitleyebilirsiniz. Dosya, STDIN veya komut satırı bağımsız değişkeninden giriş alır. |
Remote Config komutları
Komut | Açıklama |
---|---|
remoteconfig:versions:list \ --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 değerini belirtin veya döndürülen sürüm sayısını sınırlamak için isteğe bağlı olarak --limit seçeneğini iletin. |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output 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. İsteğe bağlı olarak, çıkışı -o, FILENAME ile belirli bir dosyaya yazabilirsiniz. |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Remote Config şablonunu belirtilen önceki bir sürüm numarasına veya varsayılan olarak hemen önceki sürüme (mevcut sürüm -1) geri döndürür. --force iletilmezse geri almaya devam etmeden önce E/H seçeneğini gösterir. |