Skip to main content

Частичная отгрузка системы для проверки фичи в конкретном сервисе

Проблема#

Закончив какую-то фичу вы должны отдать её на проверку менеджеру/тестировщику. Правки вы вносили в back сервис, а проверять нужно через какой-то front сервис, например через админку. Необходимо предоставить проверяющему front сервисы, через которые он сможет взаимодействовать с вашей версией back сервиса.

Решение#

План такой: отгружаем свой сервис, он получает уникальное имя в соответствии с названием ветки в гите. Дополнительно отгружаем все необходимые сервисы чтобы можно было через front сервис работать с целевым back сервисом. Настраиваем все отгруженные сервисы так, чтобы они делали запросы друг к другу.

Необходимые действия#

  1. Выясняем какие именно дополнительные сервисы нам нужно будет отгрузить
  2. В репозитории с values файлами создаём ветку для нашей задачи
  3. В этой ветке, в файле stage/common-env.yaml меняем адреса севрисов так
  4. Отгружаем целевой севрис из ветки задачи
  5. Отгружаем дополнительные сервисы их ветки мастер, но указав при отгрузке VALUES_BRANCH равный ветке задачи

Пример: Есть севрисы admin-front, admin-back и oms. Мы сделали задачу task-123 в oms и хотим чтобы менеджер её проверил через сервис admin-front. Закончив работу в oms делаем в репозитории с values файлами ветку task-123, и меняем там адреса сервисов вот так:

app:
env:
ADMIN_BACK_HOST:
value: "http://admin-back-task-123.dev.svc.cluster.local"
OMS_HOST:
value: "http://oms-task-123.dev.svc.cluster.local"

адреса других сервисов не меняем.

Отгружаем ветку task-123 сервиса oms. Отгружаем сервисы admin-front и admin-back из ветки master, но VALUES_BRANCH=task-123.

Сервис admin-front получит публичный адрес и менеджер сможет проверить задачу. Сервисы удаляться автоматически через 14 дней если за это время они ни разу не будут отгружены.

Когда задача будет протестирована и одобрена для мержа в мастер, ветку task-123 в репозитории с values файлами нужно удалить.