Для разработки приложений, предназначенных для промышленного использования, необходимо четко выстроить рабочий процесс, особенно если над приложением работает несколько человек. Рабочий процесс разработки обычно включает в себя настройку и управление несколькими средами.
Firebase поддерживает различные уровни рабочих процессов разработчиков и входящие в их состав среды. После того, как вы ознакомитесь с терминами и предположениями, касающимися рабочих процессов разработчиков, представленными на этой странице, изучите наши общие рекомендации и общие правила безопасности по настройке проекта Firebase и ваших приложений.
Об окружающей среде
В разработке программного обеспечения среда — это все аппаратные и программные средства, необходимые для запуска экземпляра приложения или системы приложений.
Набор сред обеспечивает изоляцию при разработке и тестировании программного обеспечения без влияния на пользователей. Как показано на диаграмме ниже, среды на высоком уровне делятся на предпроизводственные и производственные , и вы можете иметь столько предпроизводственных сред, сколько необходимо. Диаграмма также описывает общие методы и функции, связанные с каждым типом среды .
Процесс продвижения функции или релиза через эти среды в производственную среду называется конвейером развертывания .

Типы окружающей среды
Среда состоит из базовой инфраструктуры, необходимой для запуска и поддержки вашего приложения, его кода и данных. Разверните каждый из следующих терминов, чтобы ознакомиться с описанием некоторых распространенных сред, включая советы по типам данных, используемых в каждом типе среды.
Каждому разработчику необходима среда разработки — безопасное, изолированное место для тестирования изменений по мере их внесения. В идеале, каждый разработчик в вашей команде должен иметь доступ к собственной среде разработки. Кроме того, если среда разработки представляет собой локальный экземпляр, разработчик может работать гораздо быстрее.
В среде разработки данные заполняются таким образом, чтобы в целом соответствовать производственным данным, но никогда не должны содержать данные реальных пользователей. Они также могут содержать данные, которые в прошлом вызывали ошибки, например, очень длинные строки.
Если у вас есть автоматизированные тесты, вам нужна среда для их запуска, и вам необходимо сбрасывать данные каждый раз при запуске тестовой среды.
Если у вас есть инженеры по контролю качества, им может потребоваться единая среда для всех, или же им могут понадобиться отдельные среды для тестирования новой версии продукта.
В средах тестирования и контроля качества используются качественные данные, в целом репрезентативные для производственных данных, а также данные, представляющие собой частные случаи и примеры данных, которые в прошлом приводили к ошибкам.
Для реалистичной проверки работоспособности релиза в производственной среде необходима тестовая среда, максимально точно имитирующая производственную инфраструктуру. Часто используется несколько тестовых экземпляров, если необходимо протестировать отдельные интеграции изолированно.
Вот основные различия между тестовой и рабочей средами:
В тестовой среде могут отсутствовать некоторые функции или интеграции, которые могут вызвать побочные эффекты. Например, в настройках тестовой среды может быть отключена отправка электронных писем.
В тестовой среде могут использоваться анонимизированные данные; эти данные могут быть поддельными, но они должны быть реалистичными. Поскольку тестовая среда предназначена для безопасной отладки проблем, вы можете предоставить доступ к данным тестовой среды более широкой команде, чем к производственным данным. Поэтому, чтобы защитить конфиденциальность пользователей, не следует использовать реальные пользовательские данные в тестовой среде.
Для каждого поддерживаемого вами приложения вам необходима единая производственная среда. Это та среда, с которой взаимодействуют ваши пользователи.
В отличие от других сред, где вы можете изменять, удалять и/или создавать данные заново, данные в вашей производственной среде очень важны; потеря или изменение данных в производственной среде напрямую повлияет на ваших пользователей.
В консоли Firebase мы рекомендуем пометить проект Firebase, связанный с вашей производственной средой, как среду типа «производственная» . Эта метка поможет вам и вашим коллегам помнить, что любые изменения могут повлиять на связанные с ними производственные приложения и их данные.
Следующие шаги
Ознакомьтесь с нашими общими рекомендациями по настройке проектов Firebase. В этом руководстве даны ответы на вопросы об иерархии проектов Firebase, о том, как регистрировать варианты приложений, и о многопользовательском режиме.
Ознакомьтесь с общими рекомендациями по безопасности для различных сред. Вам необходимо убедиться в безопасности каждой среды и содержащихся в ней данных.
Ознакомьтесь с контрольным списком запуска Firebase .