我有一个我在Cloudbees Jenkins实例中构建的Java项目。构建过程使用Gradle并从Maven存储库获取其所有依赖项。在相当规律的基础上,构建过程在从Maven Central下载一个或多个依赖项时出现问题。最近,它是appengine SDK:
Download https://repo1.maven.org/maven2/com/google/appengine/appengine-java-sdk/1.9.23/appengine-java-sdk-1.9.23.pom
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':appengineSdk'.
> Could not determine artifacts for com.google.appengine:appengine-java-sdk:1.9.23
> Could not get resource 'https://repo1.maven.org/maven2/com/google/appengine/appengine-java-sdk/1.9.23/appengine-java-sdk-1.9.23.zip'.
> Could not HEAD 'https://repo1.maven.org/maven2/com/google/appengine/appengine-java-sdk/1.9.23/appengine-java-sdk-1.9.23.zip'.
> The target server failed to respond
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
网址有效,只是有时repo1.maven.org或我路径中的某个代理似乎打嗝而下载失败。很多时候(虽然不总是,grrr ......)如果我进入并手动启动构建,下载问题就解决了,构建成功了。
在一个独立的Jenkins实例(不是Cloudbees)中,这不是什么大不了的事,因为我可以维护一个Gradle缓存,而且我只需要下载一次依赖项。由于我的Cloudbees环境通常会针对每个构建进行刷新(重新下载所有内容),因此构建在运行的大部分时间内都会失败。
我正在寻找有关在Cloudbees环境中处理此问题的最佳方法的建议。例如:
我不介意编写自定义Gradle任务,如果需要的话,但我不确定从哪里开始。所以,如果这是答案,那么我们会非常感谢您对文档的指示,并且我会将最终实现作为替代答案发布。
答案 0 :(得分:0)
尝试设置一个代理maven.org的私有repo实例?