Домены
ВАЖНО:
Использование переменной
DOMAIN: $DOMAIN
включает только настройку конфигов маршрутизации на машине. Для автоматического управления dns записями необходимо использовать DNS провайдер.По умолчанию genesis подразумевает наличие одного домена на проект.
Включение управления доменами
Для использования доменных имен нужно указать env переменные DOMAIN: example.com
DNS_PROVIDER: [CF | YA]
, DNS_TOKEN: token
, в .gitlab-ci.yml
файле.
Для всех сервисов по умолчанию используется конструкция {SERVICE}.{BRANCH}.$DOMAIN
, где SERVICE
- имя сервиса
из docker-compose.yml
. (прим backend.branch.genesis-framework.com)
Рекомендуется форма записи через переменные:
variables:
DOMAIN: genesis-framework.com
DNS_PROVIDER: CF
DNS_TOKEN: $CLOUDFLARE_TOKEN
Настройка корневого сервиса (Домен для корневого сервиса)
В случае, если требуется указать корневой сервис (прим. используется простенький статичный сайт и требуется,
чтобы он был доступен по корневому урлу ветки branch.genesis-framework.com) указывается переменная ROOT_SERVICE
(указание сервиса).
Для всех веток используется стандартный шаблон без указания сервиса (Прим. branch.genesis-framework.com).
variables:
DOMAIN: genesis-framework.com
DNS_PROVIDER: CF
DNS_TOKEN: $CLOUDFLARE_TOKEN
ROOT_SERVICE: site
Как настроить корневую ветку (выбор ветки для использования, как корневой)
В случае, если требуется чтобы сервис был доступен под корневым доменом
(прим. используется простенький статичный сайт и требуется чтобы он был доступен по корневому урлу genesis-framework.com)
помимо переменной ROOT_SERVICE
(указание сервиса) указывается также ROOT_BRANCH
.
variables:
DOMAIN: genesis-framework.com
DNS_PROVIDER: CF
DNS_TOKEN: $CLOUDFLARE_TOKEN
ROOT_SERVICE: site
ROOT_BRANCH: prod
Смена формирования путей на path like
Выбор типа формирования домена управляется переменной PATH_LIKE_DOMAIN
,
принимающей значения 0
(выключен, дефолтное значение) и 1
(включен).
Шаблон маршрутизации: $DOMAIN/{BRANCH}/{SERVICE}/
(ex. https://genesis-framework.com/prod/docs)
Важно: при значении PATH_LIKE_DOMAIN: 1
- переменные DNS_TOKEN
, ROOT_SERVICE
, ROOT_BRANCH
не работают и настройка dns записей делается в ручном режиме.
variables:
DOMAIN: genesis-framework.com
DNS_PROVIDER: CF
DNS_TOKEN: $CLOUDFLARE_TOKEN
PATH_LIKE_DOMAIN: 1
Использование кастомных настроек для Nginx
Для настройки конфигурации Nginx необходимо создать папку genesis
в корне проекта и в нее поместить файл nginx.conf
с кастомной конфигурацией.
Пример: /genesis/nginx.conf
server_names_hash_bucket_size 128;