gpt4 book ai didi

docker - 如何与 docker 容器共享 gradle 缓存

转载 作者:行者123 更新时间:2023-12-02 17:29:50 28 4
gpt4 key购买 nike

我们在 docker 容器中运行 gradle 构建(原因是构建需要我们不想在主机上安装的软件;node、wine 等。主机上甚至没有安装 java 或 gradle)。

启动每个缓存为空的容器的速度非常慢。

我已经设置了 gradle-4.0 的 http 构建缓存。在大多数情况下,这避免了 java 编译的需要。但性能增益相当低,因为构建时间主要是下载依赖项gradlew --parallel 有助于缓解这一点,但要真正提高构建速度,应该完全避免下载。

将 ~/.gradle 共享为 docker 卷是有问题的,因为当容器并行运行时会导致争用 ( https://github.com/gradle/gradle/issues/851 )。

那么,还可以做些什么来避免一遍又一遍地下载相同的工件?

最佳答案

虽然从并行运行的容器共享 gradle 缓存是有问题的,但当容器顺序运行时重用 gradle 缓存是绝对可以的。由 jenkins 启动的构建按顺序运行。

可以通过使用 .gradle 文件夹的 docker 卷来加快 Jenkins 构建速度。唯一的缺点是,每个作业都需要自己的卷。

关于docker - 如何与 docker 容器共享 gradle 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44969113/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com