Как использовать демон Gradle в конвейере Kubernetes CI? - PullRequest
0 голосов
/ 11 марта 2020

Я использую Jenkins с плагином Kubernetes , но я думаю, что проблема будет та же с Tekton или любым конвейером, который строит, тестирует и развертывает проект с использованием модулей Kubernetes 'и Gradle.

Есть ли способ разделить процесс демона Gradle через несколько модулей?

Обратите внимание, что я включил удаленные кэши Gradle.

Ответы [ 2 ]

2 голосов
/ 11 марта 2020

не легко. Вся модель плагина Kubernetes заключается в том, что каждая сборка выполняется в новой среде. Вам нужно будет запустить его за пределами сборки, возможно, через DaemonSet с включенным режимом hostNetwork, а затем настроить Gradle в сборке для просмотра другого IP (IP-адреса хоста) вместо localhost.

В основном все просто справляются с режимом --no-daemon: - /

0 голосов
/ 11 марта 2020

Если мое понимание верно, у вас включено кэширование gradle. И когда вы выполняете параллельную сборку конвейеров Jenkins, это дает сбой, поскольку первый процесс демона gradle создал бы блокировку файлов. Если это так, то в качестве обходного пути вы можете определить объем пути хоста в шаблоне модуля Kubernetes, специально для каждого задания сборки gradle, и при выполнении сборки gradle пропустите этот конкретный путь для кэширования gradle.

...