【发布时间】:2018-01-29 20:59:15
【问题描述】:
在我的 jenkins 管道构建中,我无法从 ccache 获得一致的好处。我将CCACHE_BASEDIR 设置为我当前构建目录的父目录(这类似于/opt/jenkins/workspace)。鉴于这个 basedir,我希望所有共享这个公共父级的 PR/分支构建能够在缓存中找到命中,但可惜他们没有。我确实看到给定目录中后续构建的缓存命中(例如,如果我手动重建特定 PR),这意味着 CCACHE_BASEDIR 没有像我预期的那样工作。
为了进一步诊断,我尝试设置 CCACHE_LOGFILE,虽然该文件是由构建生成的,但它实际上是空的(它只包含两行指示 ccache 的版本)。
任何人都可以提出具体的设置或技术,以从 jenkins 管道中的 ccache 或其他尝试诊断问题的方法中获得最大收益吗?什么可能导致空 ccache 日志文件?
我正在运行ccache 3.3.4。
【问题讨论】:
-
你能让ccache手动工作吗?您可以使用
ccache -s检查 ccache 统计信息,看看它是否正在缓存文件。 -
我也观察到相同的几乎为空的日志文件行为。你有没有发现为什么会这样@mike-ellery?
-
@SalemDerisavi 我很久以前就停止了这个特定项目的工作,我不记得我是否有过解决方案。下面来自 Joel 的建议可能和它得到的一样好......并且还确保您拥有最新的 ccache。除此之外,我没有任何具体的建议。祝你好运!
标签: jenkins jenkins-pipeline ccache