Gitlab Ci - моно-репо, сборка нескольких изображений - изменить тег на изображении, только если он изменился? - PullRequest
0 голосов
/ 18 октября 2018

Объяснить эту проблему довольно сложно, но я сделаю все возможное.

Я работаю над проектом, в котором в настоящее время есть моно-репо с 10 микросервисами.Develop и master развертываются в Kubernetes.

Прежде чем у нас был latest тег на образах Docker в deployment.yaml, поэтому после сборки нам пришлось вручную удалить устаревший модуль, чтобы создать его с последним образом.

На данный момент мы сделали улучшение, поэтому при слиянии мы делаем сборку с коммитом SHA в качестве тега для всех изображений докера, который переходит на deployment.yaml, что вызывает обновление модулей, однако это не очень хорошо.решение (но все же лучше, чем ручное обновление пакетов), потому что даже если объединение действительно изменило только одну или две службы, оно запускает воссоздание пакетов для всех служб.

Я ищу любые хорошие решения, чтобы иметь возможность(1) сохранить тег образа, если он был полностью построен из кэша, и затем (2) иметь возможность передать неизмененный тег на этап развертывания (или каким-либо образом определить, какие службы были изменены, и выполнить развертывание только для тех, которые изменились, чтозвучит как лучшая идея).

...