Как настроить деплой на собственный сервер (по ssh)

Подробнее про SSH провайдер можно прочитать по сслыке.

Для использования ssh необходим root пользователь

k8s (minikube)

Для настройки деплоя необходимо выставить env переменную HOSTING_PROVIDER SSH, а также установить переменные genesis_SSH_PRIVATE_KEY и genesis_IP_ADDRESS в gitlab ci variables.

Без DNS:

include:
    - project: 'framework/genesis'
      file: '/genesis.gitlab-ci.yml'

variables:
    VERSION: *.*.*   # Genesis version, вместо *.*.* необходимо подставить последнюю доступную версию/tag,
                     # список тэгов - https://gl.sbdagroup.com/framework/genesis/-/tags
                     # ex: VERSION: 0.0.1
    HOSTING_PROVIDER: SSH
    CONTAINER_MANAGER: k8s
    IP_ADDRESS: 0.0.0.0  # можно указать в .gitlab-ci.yml, либо genesis_IP_ADDRESS в gitlab -> settings -> ci/cd -> variables

С настройкой DNS:

include:
    - project: 'framework/genesis'
      file: '/genesis.gitlab-ci.yml'

variables:
    VERSION: *.*.*   # Genesis version, вместо *.*.* необходимо подставить последнюю доступную версию/tag,
                     # список тэгов - https://gl.sbdagroup.com/framework/genesis/-/tags
                     # ex: VERSION: 0.0.1
    HOSTING_PROVIDER: SSH
    CONTAINER_MANAGER: k8s
    DOMAIN: example.com
    DNS_TOKEN: cloudflare_token
    IP_ADDRESS: 0.0.0.0  # можно указать в .gitlab-ci.yml, либо genesis_IP_ADDRESS в gitlab -> settings -> ci/cd -> variables

docker-compose

Для настройки деплоя необходимо выставить env переменную HOSTING_PROVIDER SSH, а также установить переменные genesis_SSH_PRIVATE_KEY_branch_name и genesis_IP_ADDRESS_branch_name в gitlab ci variables.

Без DNS:

include:
    - project: 'framework/genesis'
      file: '/genesis.gitlab-ci.yml'

variables:
    VERSION: *.*.*   # Genesis version, вместо *.*.* необходимо подставить последнюю доступную версию/tag,
                     # список тэгов - https://gl.sbdagroup.com/framework/genesis/-/tags
                     # ex: VERSION: 0.0.1
    HOSTING_PROVIDER: SSH
    CONTAINER_MANAGER: docker
    IP_ADDRESS: 0.0.0.0  # можно указать в .gitlab-ci.yml, либо genesis_IP_ADDRESS_branch_name в gitlab -> settings -> ci/cd -> variables

С настройкой DNS:

include:
    - project: 'framework/genesis'
      file: '/genesis.gitlab-ci.yml'

variables:
    VERSION: *.*.*   # Genesis version, вместо *.*.* необходимо подставить последнюю доступную версию/tag,
                     # список тэгов - https://gl.sbdagroup.com/framework/genesis/-/tags
                     # ex: VERSION: 0.0.1
    HOSTING_PROVIDER: SSH
    CONTAINER_MANAGER: docker
    DOMAIN: example.com
    DNS_TOKEN: cloudflare_token
    IP_ADDRESS: 0.0.0.0  # можно указать в .gitlab-ci.yml, либо genesis_IP_ADDRESS_branch_name в gitlab -> settings -> ci/cd -> variables

Как запустить с использованием готового клиентского кластера k8s

Для настройки деплоя в готовый k8s кластер необходимо указать env переменную HOSTING_PROVIDER: none, а также установить переменную, genesis_KUBECONFIG в gitlab ci variables.

При использовании встроенного менеджера dns записей необходимо указать env переменную
IP_ADDRESS server_ip_address в секцию variables c публичным ip адресом.

Без ДНС

include:
    - project: 'framework/genesis'
      file: '/genesis.gitlab-ci.yml'

variables:
    VERSION: *.*.*   # Genesis version, вместо *.*.* необходимо подставить последнюю доступную версию/tag,
                     # список тэгов - https://gl.sbdagroup.com/framework/genesis/-/tags
                     # ex: VERSION: 0.0.1
    HOSTING_PROVIDER: none
    CONTAINER_MANAGER: k8s
    DOMAIN: example.com

С настройкой DNS:

include:
    - project: 'framework/genesis'
      file: '/genesis.gitlab-ci.yml'

variables:
    VERSION: *.*.*   # Genesis version, вместо *.*.* необходимо подставить последнюю доступную версию/tag,
                     # список тэгов - https://gl.sbdagroup.com/framework/genesis/-/tags
                     # ex: VERSION: 0.0.1
    HOSTING_PROVIDER: none
    CONTAINER_MANAGER: k8s
    DOMAIN: example.com
    DNS_TOKEN: $CLOUDFLARE_TOKEN
    IP_ADDRESS: 0.0.0.0

Как настроить маршрутизацию в закрытом контуре

Для настройки маршрутизации в закрытом контуре необходимо установить переменную PATH_LIKE_DOMAIN: 1 (смотри раздел Домены->Смена формирования путей на path like).

include:
    - project: 'framework/genesis'
      file: '/genesis.gitlab-ci.yml'

variables:
    VERSION: *.*.*   # Genesis version, вместо *.*.* необходимо подставить последнюю доступную версию/tag,
                     # список тэгов - https://gl.sbdagroup.com/framework/genesis/-/tags
                     # ex: VERSION: 0.0.1
    HOSTING_PROVIDER: none
    CONTAINER_MANAGER: k8s
    DOMAIN: example.com
    DNS_TOKEN: $CLOUDFLARE_TOKEN
    IP_ADDRESS: 0.0.0.0
    PATH_LIKE_DOMAIN: 1