【发布时间】:2019-06-24 00:31:30
【问题描述】:
这是我的问题的背景:
- 一个 gitlab ci yml 管道
- 在同一个实习中的几份工作
- 所有作业都使用需要使用缓存的任务 gradle
- 所有作业共享同一个 gradle 缓存
我的问题:
有时,当同时有多个管道时,我会得到:
出了什么问题: 无法使用 GradleUserHomeScopeServices.createCachingFileHasher() 创建 FileHasher 类型的服务。
等待锁定文件哈希缓存 (/cache/.gradle/caches/5.1/fileHashes) 的超时。它当前正被另一个 Gradle 实例使用。 所有者 PID:149 我们的 PID:137 业主运营: 我们的操作: 锁定文件:/cache/myshop/reunion/.gradle/caches/5.1/fileHashes/fileHashes.lock
我找不到任何关于 gradle 使用的锁定系统的文档。我不明白为什么当 gradle 操作不写入缓存目录时会定位锁。
有人知道锁的工作原理吗?或者我可以简单地更改超时的持续时间以允许伴随的任务在失败之前等待足够长的时间吗?
由 www.DeepL.com/Translator 翻译
我尝试在没有守护程序的情况下调整 gradle,但没有成功。
【问题讨论】: