Частичная отгрузка системы для проверки фичи в конкретном сервисе
Проблема
Закончив какую-то фичу вы должны отдать её на проверку менеджеру/тестировщику. Правки вы вносили в back сервис, а проверять нужно через какой-то front сервис, например через админку. Необходимо предоставить проверяющему front сервисы, через которые он сможет взаимодействовать с вашей версией back сервиса.
Решение
План такой: отгружаем свой сервис, он получает уникальное имя в соответствии с названием ветки в гите. Дополнительно отгружаем все необходимые сервисы чтобы можно было через front сервис работать с целевым back сервисом. Настраиваем все отгруженные сервисы так, чтобы они делали запросы друг к другу.
Необходимые действия
- Выясняем какие именно дополнительные сервисы нам нужно будет отгрузить
- В репозитории с values файлами создаём ветку для нашей задачи
- В этой ветке, в файле stage/common-env.yaml меняем адреса севрисов так
- Отгружаем целевой севрис из ветки задачи
- Отгружаем дополнительные сервисы их ветки мастер, но указав при отгрузке 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 файлами нужно удалить.