Goal: иметь отдельную тестовую среду для тестирования cloudflare workers и ci cd пайплайны под нее.
Аккаунт для тестовых окружений
отдельный cloudflare account с активированной услугой workers и pages. На этом аккаунте необходимы три домена (не поддомены, а именно полноценные домены)
- домен с апи СГ (копия myshadowcasino)
- домен с зеркалом продукта сг (которое можно будет ломать)
- домен с редиректором на это зеркало продукта
Доступ к этому аккаунту необходимо будет отдать, чтобы я мог сам инвайтить в него нужных людей.
Ключи для деплоя workers
нам необходимо сделать апи ключ, который имел бы доступ к управлению workers на всех аккаунтах где у нас есть workers. Проще всего сделать отдельный аккаунт, дать ему доступ ко всему, а уже внутри него седлать апи ключ с правами на все аккаунты для редактирования workers. Ключи будут зашиты в CI, но все равно важно чтобы это был иной аккаунт, нежели тот что используется для тестовых окружений.
Итоговая схема работы
Разработчик работающий с workers получает инвайт в тестовый аккаунт. Используя его, он может смотреть логи работы воркеров на тестовых окружениях.
При коммите в ветку мастер происходит перенакатка всех workers в репозитории на тестовый аккаунт используя отдельные ключи.
При мердже в ветку productions запускается деплой с теми же ключами, но на другие ид аккаунтов в проекте.
Важно: ид аккаунтов лежат в plain text внутри проекта. Разработчик даже имея эти ID не может получить доступ к production аккаунтам, т.к. они отличаются от тестового аккаунта.