【发布时间】:2021-05-14 11:43:01
【问题描述】:
我有一个 2 GB 的 zip,现在作为 Maven 工件在 Nexus 中维护:
<dependency>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>1.0.0</version>
<type>pom</type>
</dependency>
这个 zip 在构建时由 gradle 获取:
dependencies {
packageName("groupId:artifactId:1.0.0@ZIP")
}
现在应该将 zip 移动到 Azure devops,但是当我尝试将它推送到那里时 作为 Maven 工件,我收到了关于大小的错误。 java.lang.IllegalArgumentException:进度文件大小不能大于大小:2735210496 > 1974413494 如果我尝试推动较小尺寸的拉链,它会按预期工作。 我用来将其作为 Maven 工件推送的命令是:
mvn deploy:deploy-file -Dpackaging="zip" -DrepositoryId="azureFeed" -Durl="azuremavenRepoURL" -DgroupId="groupId" -DartifactId="artifactId" -Dversion="1.0.0" -Dfile="PathTo2GBFile\FileName.ZIP"
经过调查,我发现文档中提到了 maven 包大小限制:https://docs.microsoft.com/en-us/azure/devops/artifacts/reference/limits?view=azure-devops
我的 zip 大于 500 MB,如何在 Azure Devops 中将其推送为 Maven 工件? 将 2GB zip 推送到 Azure Devops 以便 Gradle 轻松获取它的最简单方法是什么(就像现在使用 Nexus 一样)?
PS:我已经尝试并成功地将 2GB zip 作为通用包推送(使用 az CLI),但在这种情况下,我无法在 gradle 中获取 zip。 不仅如此,据我所知,在 Azure Devops 中还无法通过 API 获取通用包:https://developercommunity.visualstudio.com/idea/495533/download-universal-package-trough-api.html, Azure Artifacts - Download a specific version of Universal artifact
【问题讨论】:
-
那是什么神器? 2 GB 大小?根据给定的 maven 剪断这很奇怪......
-
这么大的神器是怎么制作出来的?
-
我刚刚在问题中添加了我用来尝试生成我的工件并将其推送到 Azure 的 mvn 命令
-
zip 包含构建项目的平台(这就是它如此之大的原因)。我并不认为将其保留为 Maven 工件有点奇怪。但我想像这样在 Nexus 上存储它使得通过 Gradle 获取非常容易,因为获取任何其他 maven 依赖项......如果这可以以任何其他方式存储在 Azure Artifacts 上,我可以接受,只要 Gradle 可以以某种方式获取......
标签: maven gradle azure-devops azure-artifacts