Goal: иметь отдельную тестовую среду для тестирования cloudflare workers и ci cd пайплайны под нее.

Аккаунт для тестовых окружений

отдельный cloudflare account с активированной услугой workers и pages. На этом аккаунте необходимы три домена (не поддомены, а именно полноценные домены)

  • домен с апи СГ (копия myshadowcasino)
  • домен с зеркалом продукта сг (которое можно будет ломать)
  • домен с редиректором на это зеркало продукта

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

Ключи для деплоя workers

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

Итоговая схема работы

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

При коммите в ветку мастер происходит перенакатка всех workers в репозитории на тестовый аккаунт используя отдельные ключи.

При мердже в ветку productions запускается деплой с теми же ключами, но на другие ид аккаунтов в проекте.

Важно: ид аккаунтов лежат в plain text внутри проекта. Разработчик даже имея эти ID не может получить доступ к production аккаунтам, т.к. они отличаются от тестового аккаунта.