Firebase CLI (GitHub), Firebase projelerini yönetmek, görüntülemek ve bu projelere dağıtım yapmak için çeşitli araçlar sunar.
Firebase CLI'yı kullanmadan önce bir Firebase projesi oluşturun.
KSA'yı ayarlama veya güncelleme
Firebase CLI'yı yükleme
Firebase CLI'yı işletim sisteminize, deneyim düzeyinize ve/veya kullanım alanınıza uygun bir yöntemle yükleyebilirsiniz. CLI'yı nasıl yüklerseniz yükleyin, aynı işlevlere ve firebase
komutuna erişebilirsiniz.
Windows
Firebase CLI for Windows'u aşağıdaki seçeneklerden birini kullanarak yükleyebilirsiniz:
Seçenek | Açıklama | Şunlar için önerilir: |
---|---|---|
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'yi kullanmayan veya bu konuda bilgisi olmayan geliştiriciler |
npm | KSA'yı yüklemek ve genel olarak kullanılabilen firebase komutunu etkinleştirmek için npm'yi (Node Package Manager) kullanın.
|
Node.js kullanan geliştiriciler |
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
komutunu çalıştırabileceğiniz bir kabuk açmak için ikiliye erişin.Oturum açıp CLI'yı test etmeye devam edin.
npm
npm
CLI'yı yüklemek için npm
(Node Package Manager) kullanmak üzere aşağıdaki adımları uygulayın:Firebase
Node.js'yi nvm-windows (Node Sürüm Yöneticisi) kullanarak yükleyin. Node.js'yi yüklediğinizde
npm
komut araçları da otomatik olarak yüklenir.Aşağıdaki komutu çalıştırarak Firebase CLI'yı
npm
üzerinden yükleyin:npm install -g firebase-tools
Bu komut, dünya genelinde kullanılabilen
firebase
komutunu etkinleştirir.Oturum açıp CLI'yı test etmeye devam edin.
macOS veya Linux
Aşağıdaki seçeneklerden birini kullanarak macOS veya Linux için Firebase CLI'yı yükleyebilirsiniz:
Seçenek | Açıklama | Şunlar için önerilir: |
---|---|---|
automatic install script | İşletim sisteminizi otomatik olarak algılayan, en son KSA sürümünü indiren ve ardından genel olarak kullanılabilen firebase komutunu etkinleştiren tek bir komut çalıştırın.
|
Yeni geliştiriciler Node.js'i kullanmayan veya bu konuda bilgisi olmayan geliştiriciler CI/CD ortamında otomatik dağıtımlar |
bağımsız ikili | CLI için bağımsız ikili dosyayı indirin. Ardından, iş akışınıza uygun şekilde ikili programı yapılandırıp çalıştırabilirsiniz. | KSA'yı kullanarak tamamen özelleştirilebilir iş akışları |
npm | KSA'yı yüklemek ve genel olarak kullanılabilen firebase komutunu etkinleştirmek için npm'yi (Node Package Manager) kullanın.
|
Node.js kullanan geliştiriciler |
otomatik yükleme komut dosyası
Otomatik yükleme komut dosyasını kullanarak Firebase CLI'yi yüklemek için aşağıdaki 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 genel olarak kullanılabilen
firebase
komutunu etkinleştirir.Oturum açıp CLI'yı 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 program
İşletim sisteminize özel Firebase CLI'nın ikili dosyasını indirip çalıştırmak için aşağıdaki adımları uygulayın:
İşletim sisteminiz için Firebase CLI ikili dosyasını indirin: macOS | Linux
(İsteğe bağlı) Genel olarak kullanılabilen
firebase
komutunu ayarlayın.chmod +x ./firebase_tools
komutunu çalıştırarak ikili dosyayı yürütülebilir hale getirin.- İkilinin yolunu PATH'ınıza ekleyin.
Oturum açıp CLI'yı test etmeye devam edin.
npm
npm
CLI'yı yüklemek için npm
(Node Package Manager) kullanmak istiyorsanız aşağıdaki adımları uygulayın:Firebase
Node.js'yi nvm (Node Version Manager) kullanarak yükleyin.
Node.js'yi yüklediğinizdenpm
komut araçları da otomatik olarak yüklenir.Aşağıdaki komutu çalıştırarak Firebase CLI'yı
npm
üzerinden yükleyin:npm install -g firebase-tools
Bu komut, dünya genelinde kullanılabilen
firebase
komutunu etkinleştirir.Oturum açıp CLI'yı test etmeye devam edin.
Oturum açın ve Firebase CLI'yı test edin
CLI'yı yükledikten sonra kimliğinizi doğrulamanız gerekir. Ardından, Firebase projelerinizi listeleyerek kimlik doğrulamayı onaylayabilirsiniz.
Aşağıdaki komutu çalıştırarak Google Hesabınızı kullanarak Firebase'e giriş yapın:
firebase login
Bu komut, yerel makinenizi Firebase'e bağlar ve Firebase projelerinize erişmenizi sağlar.
Firebase projelerinizi listeleyerek CLI'nın doğru ş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österilen liste, Firebase konsolunda listelenen Firebase projeleriyle aynı olmalıdır.
En yeni KSA sürümüne güncelleme
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'yı nasıl yüklediğinize bağlıdır.
Windows
- Bağımsız ikili program: Yeni sürümü indirin ve sisteminizde eski sürümün yerine yeni sürümü kullanın.
- 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ü indirin ve sisteminizde eski sürümün yerine yükleyin.
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ü indirin ve sisteminizde eski sürümün yerine yükleyin.
npm:
npm install -g firebase-tools
komutunu çalıştırın.
KSA'yı CI sistemleriyle kullanma
CLI'yı CI sistemleriyle kullanırken Uygulama Varsayılan Kimlik Bilgileri'ni kullanarak kimlik doğrulamanızı öneririz.
(Önerilir) Uygulama Varsayılan Kimlik Bilgileri'ni kullanma
Firebase CLI, ayarlanmışsa uygulama varsayılan kimlik bilgilerini algılar ve kullanır. CLI'yı CI'da ve diğer başsız ortamlarda kimlik doğrulamanın en basit yolu Uygulama Varsayılan Kimlik Bilgileri'ni ayarlamaktır.
(Eski) FIREBASE_TOKEN
kullanın.
Alternatif olarak, FIREBASE_TOKEN
kullanarak kimliğinizi doğrulayabilirsiniz. Bu yöntem, uygulama varsayılan kimlik bilgilerine göre daha az güvenlidir ve artık önerilmemektedir.
Tarayıcısı olan bir makinede Firebase CLI'yı yükleyin.
Aşağıdaki komutu çalıştırarak oturum açma sürecini başlatın:
firebase login:ci
Belirtilen URL'yi ziyaret edin ve 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 saklayın.
firebase
komutlarını çalıştırırken bu jetonu kullanın. Aşağıdaki iki seçenekten birini kullanabilirsiniz:1. seçenek: Jetonu ortam değişkeni olarak saklayın
FIREBASE_TOKEN
. Sisteminiz jetonu otomatik olarak kullanır.2. seçenek: CI sisteminizde
firebase
komutlarının tümünü--token TOKEN
işaretiyle çalıştırın.
Jeton yükleme önceliği sırası: işaret, ortam değişkeni, istenen Firebase projesi.
Firebase projesi başlatma
Firebase projesine dağıtım gibi CLI kullanılarak gerçekleştirilen birçok yaygın görev için proje dizini gerekir. firebase init
komutunu kullanarak bir proje dizini oluşturursunuz. Proje dizini genellikle kaynak kontrolü kökünüzle aynı dizindir ve firebase init
komutu çalıştırıldıktan sonra dizinde bir firebase.json
yapılandırma dosyası bulunur.
Yeni bir Firebase projesini 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 ayarlama konusunda size yol gösterir. Proje başlatma sırasında Firebase CLI, aşağıdaki görevleri tamamlamanızı ister:
Varsayılan bir Firebase projesi seçin.
Bu adım, geçerli proje dizinini bir Firebase projesiyle ilişkilendirir. Böylece projeye özel komutlar (ör.
firebase deploy
) uygun Firebase projesinde çalıştırılır.Ayrıca, aynı proje diziniyle birden fazla Firebase projesi (ör. hazırlık projesi ve üretim projesi) ilişkilendirmek de mümkündür.
Firebase projenizde ayarlamak istediğiniz Firebase ürünlerini seçin.
Bu adımda, seçilen ürünler için belirli dosyalara yönelik yapılandırmaları ayarlamanız 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ü kurmak için
firebase init
komutunu daha sonra da çalıştırabileceğinizi unutmayın.
Başlatma işleminin sonunda Firebase, yerel uygulama dizininizin kök dizininde aşağıdaki iki dosyayı otomatik olarak oluşturur:
Proje yapılandırmanızı listeleyen bir
firebase.json
yapılandırma dosyası.Proje
.firebaserc
dosyası, takma adlarınızı saklar.
firebase.json
dosyası
firebase init
komutu, proje dizininizin kök dizininde bir firebase.json
yapılandırma dosyası oluşturur.
firebase.json
dosyası, projenizdeki hangi dosyaların ve ayarların Firebase projenize dağıtılacağını belirttiği için Firebase CLI ile öğe dağıtmak için gereklidir. Bazı ayarlar proje dizininizde veya Firebase konsolunda tanımlanabildiğinden olası dağıtım çakışmalarını çözdüğünüzden emin olun.
Çoğu Firebase Hosting seçeneği
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, bu hizmetlerin ayarlarını tanımlayabileceğiniz belirli dosyalar oluşturur (ör. Cloud Functions için index.js
dosyası). firebase.json
dosyasında önceden dağıtım veya dağıtım sonrası kancalar da ayarlayabilirsiniz.
Başlatma sırasında Firebase Hosting, Cloud Firestore ve Cloud Functions for Firebase'ı (TypeScript kaynağı ve lint seçenekleri seçilmiş olarak) belirlerseniz varsayılan ayarlara sahip bir firebase.json
dosyası örneğini aşağıda bulabilirsiniz.
{
"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"
]
}
}
Varsayılan olarak firebase.json
kullanılır ancak alternatif bir yapılandırma dosyası belirtmek için --config PATH
işaretini iletebilirsiniz.
Birden fazla Cloud Firestore veritabanı için yapılandırma
firebase init
komutunu ç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çerir.
Projeniz birden fazla Cloud Firestore veritabanı içeriyorsa farklı Cloud Firestore Security Rules ve veritabanı dizini kaynak dosyalarını her veritabanıyla ilişkilendirmek için firebase.json
dosyanızı düzenleyin. Dosyayı, her veritabanı için bir giriş içeren 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ım sırasında yoksayılacak Cloud Functions dosya
KSA, işlev dağıtımı sırasında functions
dizinindeki yoksayılacak dosyaların listesini otomatik olarak belirtir. Bu, dağıtımınızın veri boyutunu artırabilecek gereksiz dosyaların arka uca dağıtılmasını önler.
Varsayılan olarak yoksayılan dosyaların JSON biçiminde gösterilen listesi:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
ignore
için firebase.json
bölümüne 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 projesi ilişkilendirebilirsiniz.
Örneğin, hazırlık için bir Firebase projesi, üretim için ise 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 başlatma sırasında bir Firebase projesi seçtiğinizde projeye otomatik olarak default
takma adı atanır. Ancak projeye özel komutların farklı bir Firebase projesine karşı çalışmasına izin vermek ancak yine de aynı proje dizinini kullanmak için proje dizininizden aşağıdaki komutu çalıştırın:
firebase use --add
Bu komut, başka bir Firebase projesi seçmenizi ve projeyi takma ad olarak atamanızı ister. Alias atamaları, proje dizininizdeki bir .firebaserc
dosyasına yazılır.
Proje takma adlarını kullanma
Atanan Firebase proje takma adlarını kullanmak için proje dizininizden aşağıdaki komutlardan herhangi birini çalıştırın.
Komut | Açıklama |
---|---|
firebase use |
Proje dizininiz için tanımlanmış takma adların listesini görüntüleme |
firebase use \ |
Tüm komutların belirtilen Firebase projesine karşı ç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ı geçersiz kılabilirsiniz. Örneğin: CLI'nızı, staging
takma adını atadığınız bir Firebase projesine karşı çalışacak şekilde ayarlayabilirsiniz. prod
diğer adını atadığınız Firebase projesine karşı tek bir komut çalıştırmak istiyorsanız örneğin
komutunu ç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 eklemeniz gerekir. Ancak açık kaynaklı projeler veya başlangıç şablonları için genellikle .firebaserc
dosyanızı kontrol etmemelisiniz.
Yalnızca sizin kullanımınıza yönelik bir geliştirme projeniz varsa her komutla --project
işaretini iletebilir veya Firebase projesine bir takma ad atamadan firebase use PROJECT_ID
komutunu çalıştırabilirsiniz.
Firebase projenizi yerel olarak sunma ve test etme
Üretime dağıtmadan önce Firebase projenizi yerel olarak barındırılan URL'lerde görüntüleyip test edebilirsiniz. Yalnızca belirli özellikleri test etmek istiyorsanız firebase serve
komutundaki bir işaret içinde virgülle ayrılmış bir liste kullanabilirsiniz.
Aşağıdaki görevlerden birini yapmak istiyorsanız yerel proje dizininizin kökünden aşağıdaki komutu çalıştırın:
- Firebase'de barındırılan uygulamanızın statik içeriğini görüntüleyin.
- Cloud Functions kullanarak Firebase Hosting için dinamik içerik oluşturmak istiyorsanız ve Hosting'yi yerel bir URL'de taklit etmek için üretim (dağıtılmış) HTTP işlevlerinizi kullanmak istiyorsanız.
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 herhangi birini çalıştırın.
Yerel URL'lerde test için HTTP işlevlerini ve barındırmayı taklit etmek üzere 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 etme
Varsayılan olarak firebase serve
yalnızca localhost
'ten 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 isterseniz --host
işaretini aşağıdaki gibi kullanın:
firebase serve --host 0.0.0.0 // accepts requests to any host
Firebase projesine dağıtma
Firebase CLI, aşağıdakiler dahil olmak üzere kod ve öğelerin Firebase projenize dağıtımını yönetir:
- Firebase Hosting sitelerinizin yeni sürümleri
- 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 için dizinler
Bir Firebase projesine dağıtmak 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 yorum ekleyebilirsiniz. Bu yorum, projenizin Firebase Hosting sayfasında diğer dağıtım bilgileriyle birlikte gösterilir. Ö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
firebase.json
dosyası olmalıdır. Bu dosya,firebase init
komutuyla sizin için otomatik olarak oluşturulur.Varsayılan olarak
firebase deploy
, proje dizininizdeki tüm dağıtılabilir kaynaklar için yayın oluşturur. Belirli Firebase hizmetlerini veya özelliklerini dağıtmak için kısmi dağıtımı kullanın.
Güvenlik kurallarıyla ilgili 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 bir diğer 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 işlemlerinizin hızını veya hacmini sınırlayan bir kotayı aşmanız mümkündür (ancak bu olasılık düşüktür). Örneğin, çok sayıda işlev 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
Projenizin Firebase Hosting sayfasından Firebase Hosting istediğiniz sürüm için Geri al işlemini seçerek bir Firebase Hosting dağıtımını geri alabilirsiniz.
Şu anda Firebase Realtime Database, Cloud Storage for Firebase veya Cloud Firestore için güvenlik kurallarının yayınlarını 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
komutunda 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 listelenmiştir. İşaretlerdeki 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 şemaları ve bağlayıcıları |
--only storage |
Cloud Storage for Firebase kural |
--only firestore |
Tüm yapılandırılmış veritabanları için Cloud Firestore kurallar ve dizinler |
--only functions |
Cloud Functions for Firebase (Bu işaretin daha spesifik versiyonları 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şlevleri /functions/index.js
dosyanızda dışa aktarma grupları halinde gruplandırmaktır. Gruplandırma işlevleri, tek bir komut kullanarak birden fazla işlev dağıtmanıza olanak tanır.
Örneğin, groupA
ve groupB
tanımlamak için aşağıdaki işlevleri yazabilirsiniz:
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ı, groupB
içindeki işlevleri özel olarak tanımlayan ek işlevler 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, proje dizininizden aşağıdaki komutu çalıştırarak tüm groupA
işlevlerini dağıtabilirsiniz:
firebase deploy --only functions:groupA
Alternatif olarak, 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 silin
Firebase CLI, daha önce 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 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 sonrası komut dosyası oluşturma görevlerini ayarlama
Dağıtımdan önce veya sonraki görevleri gerçekleştirmek için kabuk komut dosyalarını firebase deploy
komutuna bağlayabilirsiniz. Örneğin, dağıtımdan önce çalıştırılan bir komut dosyası TypeScript kodunu JavaScript'e dönüştürebilir ve dağıtımdan sonra çalıştırılan bir kanca, yöneticileri Firebase Hosting adresine dağıtılan yeni site içerikleri hakkında bilgilendirebilir.
Ön dağıtım veya dağıtım sonrası kancaları ayarlamak için firebase.json
yapılandırma dosyanıza bash komut dosyaları ekleyin. Kısa senaryoları 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'ye başarılı bir dağıtımın ardından Slack mesajı gönderen bir dağıtım sonrası görev 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
Dağıtabileceğiniz öğelerin herhangi biri için predeploy
ve postdeploy
kancaları ayarlayabilirsiniz. firebase deploy
komutunu çalıştırmanın, firebase.json
dosyanızda tanımlanan tüm dağıtım öncesi ve dağıtım sonrası görevlerini 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 çıkışını ve hata akışlarını terminale yazdırır. Hata durumlarında aşağıdakileri göz önünde bulundurun:
- Dağıtım öncesi kancası beklendiği gibi tamamlanmazsa 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
Ön dağıtım ve dağıtım 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önetme
Bir Firebase projesinde birden fazla Firebase Realtime Database örnek olabilir. Varsayılan olarak, KSA komutları varsayılan veritabanı örneğinizle etkileşimde bulunur.
Ancak, --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ı
KSA yönetim komutları
Komut | Açıklama |
---|---|
help | CLI veya belirli komutlar hakkında yardım bilgilerini görüntüler. |
init | Geçerli dizinde yeni bir Firebase projesi ilişkilendirir ve ayarlar.
Bu komut, geçerli dizinde bir firebase.json yapılandırma dosyası oluşturur. |
login | CLI'yı Google Hesabınızla doğrular. Web tarayıcısına erişim gerektirir.localhost erişimine izin verilmeyen uzak ortamlarda CLI'ya giriş yapmak için --no-localhost |
login:ci | Etkileşimli olmayan ortamlarda kullanılmak üzere bir kimlik doğrulama jetonu oluşturur. |
logout | Google Hesabınızın oturumunu CLI'dan kapatır. |
open | İlgili proje kaynaklarının bulunduğu bir tarayıcı açar. |
projects:list | Erişiminizin olduğu tüm Firebase projelerini listeler. |
use | CLI 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 | Mevcut bir Google Cloud projesine Firebase kaynakları ekler. | |
projects:create | Yeni bir Google Cloud projesi oluşturur ve ardından yeni projeye Firebase kaynakları ekler. | |
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:list | Etkin projede kayıtlı Firebase uygulamalarını listeler. | |
apps:sdkconfig | Bir Firebase uygulamasının Google hizmetleri yapılandırmasını yazdırır. | |
setup:web | Kullanımdan kaldırıldı. Bunun yerine apps:sdkconfig komutunu kullanın ve platform bağımsız değişkeni olarak web değerini belirtin.Firebase web uygulamasının Google hizmetleri yapılandırmasını yazdırır. |
|
SHA sertifika hash'lerinin 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ı için SHA sertifika karmalarını listeler. |
Dağıtım ve yerel geliştirme
Bu komutlar, Firebase Hosting sitenizi dağıtmanıza ve sitenizle etkileşimde bulunmanıza olanak tanır.
Komut | Açıklama |
---|---|
dağıtma | Proje dizininizdeki kodu ve öğeleri etkin projeye dağıtır. Firebase Hosting için firebase.json yapılandırma dosyası gerekir.
|
sunma | Firebase Hosting yapılandırmanızla yerel bir web sunucusu başlatır.
Firebase Hosting için firebase.json yapılandırma dosyası gerekir. |
App Distribution komutlar
Komut | Açıklama |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
Derlemeyi test kullanıcılarının kullanımına sunar. |
appdistribution:testers:add | Projeye test kullanıcıları ekler. |
appdistribution: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 |
App Hosting arka ucunu oluşturan tek bir kod tabanına bağlı yönetilen kaynaklar koleksiyonunu oluşturur. İsteğe bağlı olarak, mevcut bir Firebase web uygulamasını Firebase uygulama kimliğiyle belirtebilirsiniz. |
apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Herkese açık URL dahil olmak üzere bir arka ucun belirli ayrıntılarını alır. |
apphosting:backends:list \ --project PROJECT_ID |
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 |
Projedeki bir arka ucu siler. |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
Uygulama emülasyonunda kullanılacak gizli anahtarları dışa aktarır. Varsayılan olarak apphosting.yaml içinde depolanan gizli anahtarları kullanır veya apphosting.ENVIRONMENT_NAME.yaml dosyası olan herhangi bir ortamı belirtmek için --secrets değerini alır.
|
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 işleme yapılan en son işlemeyi belirtin. Seçenek sunulmuyorsa şube listesinden seçim yapılması istenir. |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
Gizli anahtar materyalini Secret Manager'da depolar. İsteğe bağlı olarak, gizli verilerin okunacağı bir dosya yolu sağlayın. Standart girişten gizli verileri okumak için _ olarak ayarlayın.
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Arka uç hizmet hesabına, sağlanan gizli diziye erişim izni verir. Böylece, derleme veya çalışma zamanında App Hosting tarafından erişilebilir. |
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 PROJECT_ID |
Gizli anahtar ve sürümü verildiğinde 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:locations |
Cloud Firestore veritabanınız için kullanılabilir konumları listeleyin. |
firestore:databases:create DATABASE_ID |
Firebase projenizde yerel modda bir veritabanı örneği oluşturun. Komut aşağıdaki işaretleri alır:
|
firestore:databases:list |
Firebase projenizdeki veritabanlarını listeleyin. |
firestore:databases:get DATABASE_ID |
Firebase projenizdeki belirli bir veritabanının veritabanı yapılandırmasını alın. |
firestore:databases:update DATABASE_ID |
Firebase projenizdeki belirtilen bir veritabanının veritabanı yapılandırmasını güncelleyin. En az bir işaret gereklidir. Komut aşağıdaki işaretleri alır:
|
firestore:databases:delete DATABASE_ID |
Firebase projenizdeki bir veritabanını silin. |
firestore:indexes |
Firebase projenizdeki bir veritabanının dizinlerini listeleyin. Bu komut aşağıdaki işareti alır:
|
firestore:delete |
Etkin projenin veritabanındaki dokümanları siler. KSA'yı kullanarak, bir koleksiyondaki tüm dokümanları yinelemeli olarak silebilirsiniz. Cloud Firestore verilerinin CLI ile silinmesinin okuma ve silme maliyetlerine neden olduğunu unutmayın. Daha fazla bilgi için Cloud Firestore faturalandırmasını anlama başlıklı makaleyi inceleyin. Bu komut aşağıdaki işareti alır:
|
Cloud Functions for Firebase komutlar
Komut | Açıklama |
---|---|
functions:config:clone | Başka bir projenin ortamını etkin Firebase projesine kopyalar. |
functions:config:get | Etkin projenin mevcut yapılandırma değerlerini alır Cloud Functions. |
functions:config:set | Etkin projenin çalışma zamanı yapılandırma değerlerini depolar. 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'dan günlükleri okur. |
Daha fazla bilgi için ortam yapılandırma belgelerine bakın.
Crashlytics komutlar
Komut | Açıklama |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Belirtilen Android kaynağı (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 ile uyumlu bir eşleme (TXT) dosyası yükler ve bunu belirtilen Android kaynağı (XML) dosyasında beyan edilen eşleme dosyası kimliğiyle ilişkilendirir. |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Android'deki yerel kitaplık kilitlenmeleri için Crashlytics ile uyumlu bir simge dosyası oluşturur ve bunu Firebase sunucularına yükler. |
Data Connect komutlar
Bu komutlar ve kullanım alanları, Data Connect CLI referans kılavuzunda daha ayrıntılı olarak ele alınmaktadır.
Komut | Açıklama |
---|---|
dataconnect:services:list | Firebase projenizdeki tüm dağıtılmış Data Connect hizmetlerini listeler. |
dataconnect:sql:diff \ SERVICE_ID |
Belirtilen hizmet için yerel Data Connect şema ile Cloud SQL veritabanı şemanız arasındaki farkları gösterir. |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
Cloud SQL veritabanınızın şemasını yerel Data Connect şemanızla eşleşecek şekilde taşır. |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
SQL rolünü belirtilen kullanıcıya veya hizmet hesabı e-posta adresine verir.
--role işareti için verilecek SQL rolü şunlardan biridir:
owner , writer veya reader .
--email işareti için, rolün verileceği kullanıcının veya hizmet hesabının e-posta adresini girin.
|
dataconnect:sdk:generate | Data Connect bağlayıcılarınız için türü belirlenmiş 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 projede yüklü uzantı örneklerini listeler. |
ext:configure \ EXTENSION_INSTANCE_ID |
Uzantı manifestinizdeki bir uzantı örneğinin parametre değerlerini yeniden yapılandırır. |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
Bir uzantıyla ilgili ayrıntılı bilgileri yazdırır. |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
Uzantı manifestinize yeni bir uzantı örneği ekler. |
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 |
Uzantı örneğini uzantı manifestinizden kaldırır. |
ext:update \ EXTENSION_INSTANCE_ID |
Bir uzantı örneğini uzantı manifestinizdeki en son sürüme günceller. |
ext:export | Projenizdeki tüm yüklü uzantı örneklerini uzantı manifestinize aktarır. |
Extensions yayıncı komutları
Komut | Açıklama |
---|---|
ext:dev:init | Geçerli dizinde yeni bir uzantı için iskelet kod tabanını başlatır. |
ext:dev:list \ PUBLISHER_ID |
Yayıncı tarafından yüklenen tüm uzantıların listesini yazdırır. |
ext:dev:register | Bir Firebase projesini uzantı yayıncısı projesi olarak kaydeder. |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Sürüm yüklemiyle eşleşen uzantı sürümlerinin desteğini sonlandırır. Sürüm koşulu tek bir sürüm (ör. 1.0.0 ) veya bir sürüm aralığı (ör. >1.0.0 ) olabilir.Sürüm koşulu sağlanmazsa bu uzantının tüm sürümleri kullanımdan kaldırılır. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Sürüm koşuluyla eşleşen uzantı sürümlerinin kullanımdan kaldırılmasını geri alır. Sürüm yüklemi tek bir sürüm (ör. 1.0.0 ) veya bir sürüm aralığı (ör. >1.0.0 ) olabilir.Sürüm yüklemi sağlanmazsa uzantının tüm sürümleri kullanımdan kaldırılmamış olur. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Bir uzantının yeni sürümünü yüklediğinde |
ext:dev:usage \ PUBLISHER_ID |
Bir yayıncı tarafından yüklenen uzantıların yükleme sayılarını ve kullanım metriklerini gösterir. |
Hosting komutlar
Komut | Açıklama |
---|---|
hosting:disable |
Etkin Firebase projesi için Firebase Hosting trafiğinin yayınlanması durdurulur. 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şareti ileterek ilişkilendirilecek mevcut bir Firebase web uygulaması belirtin:
|
firebase hosting:sites:delete \ SITE_ID |
Belirtilen Hosting sitesini siler. CLI, siteyi silmeden önce bir onay istemi gösterir. (İsteğe bağlı) Aşağıdaki işaretleri ileterek onay istemini atlayın: |
firebase hosting:sites:get \ SITE_ID |
Belirtilen Hosting sitesiyle ilgili bilgileri alır. |
firebase hosting:sites:list |
Etkin Firebase projesi için tüm Hosting sitelerini listeler. |
Önizleme kanallarının yönetimi | |
firebase hosting:channel:create \ CHANNEL_ID |
Belirtilen 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ına dağıtır. Önizleme kanalı henüz mevcut değilse bu komut, kanala dağıtmadan önce Hosting sitesinde varsayılan kanalı oluşturur. |
firebase hosting:channel:list | Varsayılan Hosting sitedeki tüm kanalları ("canlı" kanalı dahil) listeler. |
firebase hosting:channel:open \ CHANNEL_ID |
Belirtilen kanalın URL'si için 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 hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Belirtilen "kaynak" kanalındaki en son dağıtılan sürümü belirtilen "hedef" kanala kopyalar. Bu komut, belirtilen "hedef" kanala da dağıtılır. "target" kanalı henüz mevcut değilse bu komut, kanala dağıtmadan önce "target" 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 "hedef" kanala kopyalar. Bu komut, belirtilen "hedef" kanala da dağıtılır. "target" kanalı henüz mevcut değilse bu komut, kanala dağıtmadan önce "target" Hosting sitesinde yeni bir önizleme kanalı oluşturur.
|
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.
Örnekler oluşturulduktan sonra bunları Birden fazla Realtime Database örneğini yönetme başlıklı makalede açıklandığı şekilde yönetebilirsiniz.
Komut | Açıklama |
---|---|
database:get | Etkin projenin veritabanından verileri getirir ve JSON olarak gösterir. Dizine eklenmiş verilerde sorgu göndermeyi destekler. |
database:instances:create | Belirtilen örnek adıyla bir veritabanı örneği oluşturur. Belirli bir bölgede veritabanı oluşturmak için --location seçeneğini kabul eder. Bu seçenekle kullanılacak bölge adları için projeniz için konum seçme başlıklı makaleyi inceleyin.
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 proje için tüm veritabanı örneklerini listeleyin. Belirli bir bölgedeki veritabanlarını listelemek için --location seçeneğini kabul eder. Bu seçenekle kullanılacak bölge adları için projeniz için konum seçme başlıklı makaleyi inceleyin. |
database:profile | Etkin projenin veritabanındaki işlemlerin profilini oluşturur. Daha fazla bilgi için Realtime Database işlem türleri başlıklı makaleyi inceleyin. |
database:push | Etkin projenin veritabanında belirtilen konumdaki bir listeye yeni veriler gönderir. Dosyadan, STDIN'den veya komut satırı bağımsız değişkeninden giriş alır. |
database:remove | Etkin projenin veritabanında belirtilen konumdaki tüm verileri siler. |
database:set | Etkin projenin veritabanında belirtilen konumdaki tüm verileri değiştirir. Dosyadan, STDIN'den veya komut satırı bağımsız değişkeninden giriş alır. |
database:update | Etkin projenin veritabanında belirtilen konumda kısmi güncelleme gerçekleştirir. Dosyadan, STDIN'den 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. Tüm mevcut sürümleri döndürmek için
0 seçeneğini 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 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üm kullanılır) ve parametre gruplarını, parametreleri, koşul adlarını ve sürümü bir tabloya aktarır. İsteğe bağlı olarak, çıkışı -o, FILENAME ile belirtilen bir dosyaya yazabilirsiniz. |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Remote Config şablonunu belirtilen önceki sürüm numarasına geri döndürür veya varsayılan olarak hemen önceki sürüme (mevcut sürüm -1) ayarlar. --force geçilmediği sürece geri alma işlemine devam etmeden önce Y/N istemleri gösterilir. |