Обзор сред

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

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

О средах

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

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

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

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

Типы сред

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

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

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

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

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

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

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

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

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

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

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

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

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

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