首页 > 解决方案 > 如何在 Kubernetes CI 管道中使用 Gradle 守护进程?

问题描述

我正在将Jenkins 与 Kubernetes 插件一起使用,但我认为 Tekton 或任何使用 Kubernetes'pods 和 Gradle 构建、测试和部署项目的管道都会出现同样的问题。

有没有办法通过多个 pod 共享 Gradle 守护进程?

请注意,我启用了远程 Gradle 缓存。

标签: gradlekubernetescontinuous-integration

解决方案


不容易。Kubernetes 插件的整个模型是每次构建都在新环境中运行。您必须在构建之外运行它,可能通过启用 hostNetwork 模式的 DaemonSet,然后在构建中配置 Gradle 以查看不同的 IP(主机 IP)而不是 localhost。

基本上每个人都只是应付--no-daemon模式:-/


推荐阅读