Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Üretim uygulamaları için net bir geliştirme iş akışı oluşturmanız gerekir:
uygulamanızda çalışan birden fazla kişi varsa. Geliştirme iş akışı
genellikle birden fazla ortam oluşturup yönetmeyi içerir.
Firebase'de, geliştirici iş akışları ve Firebase için Google Analytics
önemli bir rol oynar. Geliştirici iş akışı şartlarını öğrendikten sonra,
varsayımlarda bulunmak için
genel en iyi uygulamalar
ve
genel güvenlik yönergelerine
Firebase projesi oluşturun.
Ortamlar hakkında
Yazılım geliştirmede ortam, bir uygulama örneğini veya uygulama sistemini çalıştırmak için gereken tüm donanım ve yazılımdır.
Bir dizi ortam, yazılım geliştirmek ve test etmek için yalıtım sağlar
en iyi uygulamaları paylaşacağız. Aşağıdaki şemada gösterildiği gibi, bir
hem prodüksiyon öncesi hem de üretim olarak kabul edilir.
sayıda üretim öncesi ortamına sahip olmalıdır. Şemada, her ortam türüyle ilişkili yaygın uygulamalar ve özellikler de açıklanmaktadır.
Bir özelliği veya sürümü bu ortamlar aracılığıyla ilerletme süreci
üretime dağıtım ardışık düzeni adı verilir.
Ortam türleri
Ortam, çalıştırmanız gereken temel altyapıdan oluşur.
ve uygulamanızı, kodunu ve verilerini desteklemeniz gerekir. Her bir
aşağıdaki terimler dahil olmak üzere bazı yaygın ortamların açıklamalarını incelemek için:
her ortam türünde kullanılan veri türleriyle ilgili ipuçları alabilirsiniz.
Geliştirme (geliştir) ortamları
Her geliştiricinin bir geliştirme ortamına ihtiyacı vardır. Geliştirme ortamı, değişiklikleri oluşturulurken test etmek için güvenli ve izole bir yerdir. İdeal olarak, ekibinizdeki her geliştiricinin
ortama aktarabilmelidir. Ayrıca, geliştirme ortamı yerel bir örnekse
geliştiriciler çok daha hızlı iterasyonlar yapabilir.
Geliştirme ortamındaki veriler, genellikle
ancak hiçbir zaman gerçek kullanıcı verilerini içermemeli dışı verilerdir. Ayrıca, çok uzun dizeler gibi geçmişte hatalara neden olan veriler de içerebilir.
Test ve kalite güvencesi ortamları
Otomatik testleriniz varsa bu testlerin çalıştırılacağı bir ortama
gerekir ve testi her başlatışınızda verileri sıfırlamanız
bahsedeceğim.
Kalite güvencesi mühendisleriniz varsa bunların hepsinin kullanacağı tek bir ortama veya yeni bir sürüm adayını test etmek için ayrı ortamlara ihtiyaçları olabilir.
Test ve kalite güvencesi ortamlarındaki veriler;
genel olarak üretim verilerini temsil eden ve bu verileri temsil eden verilerle
ve geçmişte hatalara neden olan veri örneklerini içerir.
Hazırlık ortamları
Bir sürümün üretimde nasıl çalışacağına dair gerçekçi testler için bir hazırlık sürümü gerekir
mümkün olduğunca yakın bir ortam tasarlamaya çalışın. Belirli entegrasyonları ayrı olarak test etmeniz gerekiyorsa birden fazla hazırlık örneğine sahip olmanız normaldir.
Hazırlık ile üretim arasındaki yaygın farklılıklar şunlardır:
Hazırlık aşamasında hataya neden olabilecek bazı özellikler veya entegrasyonlar eksik olabilir
hoşuma gidiyor. Örneğin, hazırlık, e-posta gönderilmeyecek şekilde ayarlanabilir.
Hazırlık aşamasında anonimleştirilmiş veriler bulunabilir; veriler sahte olabilir, ancak
somut olarak ortaya koyar. Hazırlık sorunları güvenli bir şekilde hata ayıklamak için kullanılan bir yer olduğundan,
hazırlık verilerine üretim verilerine göre daha geniş bir ekip tarafından erişilmesini sağlar. Dolayısıyla, kullanıcıları
hazırlık aşamasında gerçek kullanıcı verilerini kullanmamalısınız.
Üretim (prod) ortamları
Bakımını yaptığınız her uygulama için tek bir üretime ihtiyacınız vardır
bahsedeceğim. Bu, kullanıcılarınızın etkileşim kurduğu örnektir.
Değiştirebileceğiniz, silebileceğiniz ve/veya yeniden oluşturabileceğiniz diğer ortamların aksine
üretim ortamınızdaki veriler çok önemlidir; değiştirme veya kaybetme
Üretim verileriniz kullanıcılarınızı doğrudan etkileyecektir.
Firebase konsolunda, ilişkili Firebase projesini etiketlemenizi öneririz
olarak üretim ortamınızla
"üretim" ortam türüne göre. Bu etiket
ekibinize ve arkadaşlarınıza, herhangi bir değişikliğin çalışma biçiminizi
ve bunların verileri hakkında
bilgi edineceksiniz.
Sonraki adımlar
Genel en iyi uygulamalarımızı inceleyin
. Bu kılavuzda Firebase ile ilgili sorular yanıtlanmaktadır.
uygulama varyantlarınızı kaydetme ve çok kiracılı yapı gibi konuları ele aldık.
Farklı ortamlar için genel güvenlik kurallarını inceleyin. Her bir ortamın ve bu ortamın
emin olmanız gerekir.
[null,null,["Son güncelleme tarihi: 2025-07-25 UTC."],[],[],null,["For production apps, you need to set up a clear development workflow, especially\nif you have more than one person working on your app. A development workflow\nusually involves setting up and managing multiple environments.\n\nFirebase has varying levels of support for developer workflows and the\nconstituent environments. Once you're familiar with the developer workflow terms\nand assumptions on this page, check out our\n[general best practices](/docs/projects/dev-workflows/general-best-practices)\nand\n[general security guidelines](/docs/projects/dev-workflows/general-security-guidelines)\nfor setting up a Firebase project and your apps.\n| **Key Point:** We recommend reading our guides thoroughly, but here's the top takeaway about development workflows: \n| **Firebase recommends using a *separate* Firebase project for *each* environment\n| in your development workflow.**\n\nAbout environments\n\nIn software development, an ***environment*** is all the hardware and software\nthat are required to run an instance of an application or system of\napplications.\n\nA series of environments provides isolation for developing and testing software\nwithout impacting users. As shown in the diagram below, environments at a\nhigh-level are considered either *pre-production* or *production* , and you can\nhave as many pre-production environments as needed. The diagram also describes\ncommon practices and features associated with each\n[type of environment](#types).\n\nThe process of progressing a feature or release through these environments to\nproduction is called a ***deployment pipeline***.\n\nTypes of environments\n\nAn environment is composed of the underlying infrastructure that you need to run\nand support your application, its code, and its data. Expand each of the\nfollowing terms to review descriptions of some common environments, including\ntips on the types of data used in each environment type.\n| **Key Point:** Every app should have at least one *pre-production* environment that's isolated from production data and resources.\n\n\u003cbr /\u003e\n\n**Development (dev) environments**\n\n\u003cbr /\u003e\n\nEvery developer needs a development environment --- a safe, isolated place to test\nchanges as they're being built. Ideally, every developer on your team has access\nto their own dev environment. Also, if the dev environment is a local instance,\na developer can iterate much faster.\n\nThe data in a dev environment is seeded with data that generally resembles the\nproduction data, but should never contain any real users' data. It may also\ncontain data that has caused bugs in the past, like very long strings.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n**Test and QA environments**\n\n\u003cbr /\u003e\n\nIf you have automated tests, you need an environment in which to run those\ntests, and you need to reset the data each time you spin up the test\nenvironment.\n\nIf you have QA engineers, they may need one environment that they all use, or\nthey may need individual environments to test a new release candidate.\n\nThe data in test and QA environments is seeded with quality data that's\ngenerally representative of the production data, along with data that represents\ncorner cases and examples of data that have caused bugs in the past.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n**Staging environments**\n\n\u003cbr /\u003e\n\nFor realistic tests of how a release will work in production, you need a staging\nenvironment that mimics production infrastructure as closely as possible. It's\ncommon to have multiple staging instances if you need to test specific\nintegrations in isolation.\n\nHere are common differences between staging and prod:\n\n- Staging may be missing some features or integrations that could cause side\n effects. For example, staging may be set to not send email.\n\n- Staging may have anonymized data; the data can be fake, but it should be\n realistic. Because staging is a place to safely debug problems, you might give\n broader team access to staging data than production data. So, to protect user\n privacy, you shouldn't use actual user data in staging.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n**Production (prod) environments**\n\n\u003cbr /\u003e\n\nFor each application that you maintain, you need a single production\nenvironment. This is the instance with which your users interact.\n\nUnlike the other environments where you can change, delete, and/or recreate\ndata, the data in your prod environment is very important; losing or altering\nyour prod data will directly affect your users.\n\nIn the Firebase console, we recommend tagging the Firebase project associated\nwith your production environment as a\n[\"production\" environment type](/support/faq#set-environment-type). This tag\ncan help remind you and your teammates that any changes could affect your\nassociated production apps and their data.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| **Tip** : Integrations with analytics services, including Google Analytics, often require special attention when you're setting up a new environment. You also don't want your tests from pre-production environments to impact production analytics.\n|\n| We recommend not setting up analytics for most pre-production environments,\n| unless you want to specifically test analytics integrations, like making\n| sure the right parameters are being sent to your analytics service.\n\nNext steps\n\n- Review our [general best practices](/docs/projects/dev-workflows/general-best-practices)\n for setting up Firebase projects. This guide answers questions about Firebase\n project hierarchy, how to register your app variants, and multi-tenancy.\n\n- Review the [general security guidelines](/docs/projects/dev-workflows/general-security-guidelines)\n for different environments. You want to make sure each environment and its\n data are secure.\n\n- Review the [Firebase launch checklist](/support/guides/launch-checklist)."]]