jenkins gradle 找不到 groovy-all-2.5.5.jar

Posted

技术标签:

【中文标题】jenkins gradle 找不到 groovy-all-2.5.5.jar【英文标题】:jenkins gradle can't find groovy-all-2.5.5.jar 【发布时间】:2022-01-18 06:54:42 【问题描述】:

拥有一个从 bitbucket 下载测试存储库的 Jenkins 管道,然后执行以下操作:

gradle build --refresh-dependencies

其中一个依赖如下:

compile 'org.codehaus.groovy:groovy-all:2.5.5'

我们让管道每 30 分钟运行一次,每天至少 3-4 次构建会失败并出现以下错误:

Could not determine artifacts for org.codehaus.groovy:groovy-all:2.5.5
 > Could not get resource '<pathToResource>/org/codehaus/groovy/groovy-all/2.5.5/grovy-all-2.5.5.jar'.
    > Could not HEAD '<pathToResource>/org/codehaus/groovy/groovy-all/2.5.5/grovy-all-2.5.5.jar'.
       > Read timed out

我已经尝试升级 groovy-all 的版本,并将 ext/type 指定为 pom。指定类型时,我收到一个新错误,如下所示:

> Cannot infer Groovy class path because no Groovy Jar was found on class path:

正如我所说,在每天 48 次构建中,这种情况每天只发生 3-4 次,因此它非常不一致,并且以随机间隔发生。 我们无法将 groovy-all 恢复到 .jar 存在的先前版本,那么有什么解决方案可以解决这个问题吗?

【问题讨论】:

【参考方案1】:

您说问题是间歇性的,所以听起来您在下载人工制品时超时。您是否在本地缓存它(Artifactory、Nexus 或类似的)?如果没有,请考虑这样做。如果你在本地缓存,我会检查是否有东西在刷新缓存

【讨论】:

缓存与 Artifactory 一起存储,但我们已将缓存的超时时间延长为 3 天,而 gradle build --refresh-dependencies 的超时时间为 10 分钟。构建通常需要 2 分半钟才能运行,而当它失败时,它只运行一分钟后就会失败。

以上是关于jenkins gradle 找不到 groovy-all-2.5.5.jar的主要内容,如果未能解决你的问题,请参考以下文章

jenkins执行groovy 脚本报错

如何将Groovy gradle任务重写为Kotlin gradle脚本

在 Jenkins 上使用 Groovy 配置 amazon-ecs 从属插件

如何在 Jenkins 中使用 Groovy 脚本设置颠覆工作区格式?

thymeleaf-spring4:jar 找不到工件 - gradle intellij

Gradle入门之Groovy语法