Обзор сред

Для разработки приложений, предназначенных для промышленного использования, необходимо четко выстроить рабочий процесс, особенно если над приложением работает несколько человек. Рабочий процесс разработки обычно включает в себя настройку и управление несколькими средами.

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

Об окружающей среде

В разработке программного обеспечения среда — это все аппаратные и программные средства, необходимые для запуска экземпляра приложения или системы приложений.

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

Процесс продвижения функции или релиза через эти среды в производственную среду называется конвейером развертывания .

Диаграмма, показывающая среды, которые обычно составляют конвейер развертывания, включая разработку, тестирование и контроль качества, промежуточную среду и, наконец, производственную среду.

Типы окружающей среды

Среда состоит из базовой инфраструктуры, необходимой для запуска и поддержки вашего приложения, его кода и данных. Разверните каждый из следующих терминов, чтобы ознакомиться с описанием некоторых распространенных сред, включая советы по типам данных, используемых в каждом типе среды.

Среды разработки (dev)

Каждому разработчику необходима среда разработки — безопасное, изолированное место для тестирования изменений по мере их внесения. В идеале, каждый разработчик в вашей команде должен иметь доступ к собственной среде разработки. Кроме того, если среда разработки представляет собой локальный экземпляр, разработчик может работать гораздо быстрее.

В среде разработки данные заполняются таким образом, чтобы в целом соответствовать производственным данным, но никогда не должны содержать данные реальных пользователей. Они также могут содержать данные, которые в прошлом вызывали ошибки, например, очень длинные строки.

Среды тестирования и контроля качества

Если у вас есть автоматизированные тесты, вам необходима среда для их запуска, и вам нужно будет сбрасывать данные каждый раз при создании тестовой среды.

Если у вас есть инженеры по контролю качества, им может потребоваться единая среда для всех, или же им могут понадобиться отдельные среды для тестирования новой версии продукта.

В средах тестирования и контроля качества используются качественные данные, в целом репрезентативные для производственных данных, а также данные, представляющие собой частные случаи и примеры данных, которые в прошлом приводили к ошибкам.

Среды тестирования

Для реалистичной проверки работоспособности релиза в производственной среде необходима тестовая среда, максимально точно имитирующая производственную инфраструктуру. Часто используется несколько тестовых экземпляров, если необходимо протестировать отдельные интеграции изолированно.

Вот основные различия между тестовой и рабочей средами:

  • В тестовой среде могут отсутствовать некоторые функции или интеграции, которые могут вызвать побочные эффекты. Например, в настройках тестовой среды может быть отключена отправка электронных писем.

  • В тестовой среде могут использоваться анонимизированные данные; эти данные могут быть поддельными, но они должны быть реалистичными. Поскольку тестовая среда предназначена для безопасной отладки проблем, вы можете предоставить доступ к данным тестовой среды более широкой команде, чем к производственным данным. Поэтому, чтобы защитить конфиденциальность пользователей, не следует использовать реальные пользовательские данные в тестовой среде.

Производственные (прод) среды

Для каждого поддерживаемого вами приложения вам необходима единая производственная среда. Это та среда, с которой взаимодействуют ваши пользователи.

В отличие от других сред, где вы можете изменять, удалять и/или создавать данные заново, данные в вашей производственной среде очень важны; потеря или изменение данных в производственной среде напрямую повлияет на ваших пользователей.

В консоли Firebase мы рекомендуем пометить проект Firebase, связанный с вашей производственной средой, как среду типа «производственная» . Эта метка поможет вам и вашим коллегам помнить, что любые изменения могут повлиять на связанные с ними производственные приложения и их данные.

Следующие шаги