Gradle 来自 Travis 的 uploadArchives 破坏了暂存存储库

Gradle uploadArchives from Travis mangles staging repositories

我有一个 open source project that hooks to travis-ci.org,它是用 gradle 构建的。

此项目使用 gradle maven 插件 将发布工件上传到 oss.sonatype.org using the uploadArchives target. What usually happens is that this target creates a single staging repository in Sonatype, then the Gradle nexus staging plugin 提升存储库并在几分钟后显示在 Maven Central .

然而,最近,uploadArchives 目标开始创建多个暂存存储库,每个存储库都包含所需工件的部分子集;只有当 运行 在 Travis 中时才会发生这种情况,而不是当我在笔记本电脑上尝试时。

我在这里遗漏了什么,这使得它在 运行 宁 ./gradlew uploadArchives 时在本地工作,但在 Travis 中失败?

一些可能有帮助的链接:

最后出现this is a common error that started appearing this year。具有 sudo: enabled 或 docker 的 Travis 虚拟机将在工件上传之间更改 IP 地址,这将提示 Sonatype 认为这些工件属于不同的存储库。将此添加到我的 travis.yml 修复了它:

sudo: false
dist: trusty