INTEGRITY Документация

Окружения

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

Окружения Wrangler

Wrangler позволяет разворачивать одно и то же приложение Worker с разной конфигурацией для каждого окружение.

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

Привязки Durable Object не наследуются. Например, вы можете определить окружение с именем staging как показано ниже:

{
	"env": {
		"staging": {
			"durable_objects": {
				"bindings": [
					{
						"name": "EXAMPLE_CLASS",
						"class_name": "DurableObjectExample"
					}
				]
			}
		}
	}
}
[[env.staging.durable_objects.bindings]]
name = "EXAMPLE_CLASS"
class_name = "DurableObjectExample"

Поскольку Wrangler добавляет имя окружения к имени верхнего уровня при публикации, для Worker с именем worker-name приведённый выше пример эквивалентен следующему:

{
	"env": {
		"staging": {
			"durable_objects": {
				"bindings": [
					{
						"name": "EXAMPLE_CLASS",
						"class_name": "DurableObjectExample",
						"script_name": "worker-name-staging"
					}
				]
			}
		}
	}
}
[[env.staging.durable_objects.bindings]]
name = "EXAMPLE_CLASS"
class_name = "DurableObjectExample"
script_name = "worker-name-staging"

"EXAMPLE_CLASS" в окружении staging привязан к другому кодовому имени Worker по сравнению с окружением верхнего уровня "EXAMPLE_CLASS" привязку и поэтому будет обращаться к разным Durable Objects с разным постоянным хранилищем.

Если вам нужна привязка для конкретного окружения, которая обращается к тем же объектам, что и привязка верхнего уровня, укажите имя кода Worker верхнего уровня явно с помощью script_name:

{
	"env": {
		"another": {
			"durable_objects": {
				"bindings": [
					{
						"name": "EXAMPLE_CLASS",
						"class_name": "DurableObjectExample",
						"script_name": "worker-name"
					}
				]
			}
		}
	}
}
[[env.another.durable_objects.bindings]]
name = "EXAMPLE_CLASS"
class_name = "DurableObjectExample"
script_name = "worker-name"

Среды миграции

Вы можете определить миграцию Durable Object для каждого окружения, а также на верхнем уровне. Миграции уровня окружения имеют приоритет над миграциями верхнего уровня.

Подробнее см. в Конфигурация Wrangler для миграций.

Локальная разработка

Сессии локальной разработки создают автономную среду, доступную только локально и повторяющую рабочую среду, что позволяет протестировать Worker и Durable Objects перед развёртыванием в рабочей среде.

Существующая привязка Durable Object типа DB будет доступна вашему Worker при локальном запуске.

См. Workers Локальная разработка.

Удалённая разработка

Durable Objects на основе KV поддерживают удалённую разработку через плейграунд в дашборде. Этот плейграунд использует браузерную версию Visual Studio Code, что позволяет быстро дорабатывать Worker полностью в браузере.

Чтобы начать удалённую разработку:

  1. На панели управления Cloudflare перейдите к разделу Workers & Pages страницу.

    Перейдите в Workers & Pages ↗
  2. Выберите существующий Worker.

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