Авто-выселение неиспользованных развертываний в Куберне - PullRequest
2 голосов
/ 30 мая 2019

В нашей промежуточной среде у нас много развертываний из разных веток в нашем тестовом кластере Kubernetes через Gitlab.

Итак, проект с 3 различными ветвями функций и веткой исправления ошибок имеет свои собственные изолированные развертывания.

Как только они объединены с веткой релиза, я ищу разумный способ удалить все устаревшие 4 ветки (развертывания k8s), потому что они нам больше не нужны.

В качестве первого подхода, когда произойдет слияние, я буду запускать команду удаления развертывания для объединенной ветви.

feature112 -> git merge -> release -> k8s delete deployment feature112

Но не все ветви будут объединены. Функция может быть отменена, или исправление не является настоящей ошибкой.

Для этих сценариев у меня есть фоновое задание, чтобы проверить, имеет ли проект, отличный от релиза, развертывание более чем на 2 дня, тогда я их удалю. Затем dev необходимо переустановить его, если необходимо.

Например, развертывания:

myapp-release (stays forever)  
myapp-feature-123 (deployed 23 hours ago - stay)  
myapp-bugfix-124 (deployed 64 hours ago - delete)

Поэтому я стараюсь не размещать исторические ветки и исправления.

AFAIK gitlab не поддерживает триггеры удаления ветвей.
https://gitlab.com/gitlab-org/gitlab-ce/issues/54216

Как лучше всего решить эту проблему?

...