В нашей промежуточной среде у нас много развертываний из разных веток в нашем тестовом кластере 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
Как лучше всего решить эту проблему?