gradle - 如何在 Kubernetes CI 管道中使用 Gradle 守护进程?
问题描述
我正在将Jenkins 与 Kubernetes 插件一起使用,但我认为 Tekton 或任何使用 Kubernetes'pods 和 Gradle 构建、测试和部署项目的管道都会出现同样的问题。
有没有办法通过多个 pod 共享 Gradle 守护进程?
请注意,我启用了远程 Gradle 缓存。
解决方案
不容易。Kubernetes 插件的整个模型是每次构建都在新环境中运行。您必须在构建之外运行它,可能通过启用 hostNetwork 模式的 DaemonSet,然后在构建中配置 Gradle 以查看不同的 IP(主机 IP)而不是 localhost。
基本上每个人都只是应付--no-daemon
模式:-/
推荐阅读
- windows - 如何为自定义 nsis 安装程序添加边框
- c++ - make: *** 没有规则来制作目标 'agenda.cpp','agenda' 需要。停止。#制作Makefile
- python - Python 3. Selenium - 如何使用 find_element_by_xpath 的多个条件
- java - 如何在在线目录中查找图像?
- c++ - 为什么 lambda 的调用运算符隐式为 const?
- angular - 有条件地触发 mergeMap,如果为 false 则抛出错误
- typescript - 在 TypeScript 中导入 js 文件而不将其与 Rollup 捆绑
- ruby-on-rails - SimpleForm 将表单发布到不同的控制器和操作
- graphql-js - Graphcool RELAY 订阅:订阅边
- php - 从 SQL 数据库填充多个列表