Artifactory:我可以避免 War 和 Zip 工件的嵌入式冗余吗?
Artifactory: Can I avoid embedded redundancies for War and Zip artifacts?
让我们考虑以下场景
foo-common
是构建 20mb jar 的项目 (foo-common-0.0.1.jar
)
foo-app1
是一个将 foo-common-0.0.1.jar
嵌入到 zip
工件中的应用程序
foo-app2
是一个将 foo-common-0.0.1.jar
嵌入到 war
工件中的应用程序
foo-common
、foo-app1
和 foo-app2
都部署到 artifactory
foo-app1
和 foo-app2
由不同的团队管理并位于不同的源存储库中
这会导致工件上的磁盘 space 问题,因为所有 3 个工件都包含 20mb foo-common-0.0.1.jar
,最终占用磁盘上的 60mb space。
有没有更聪明的解决方案?有没有办法让 foo-common
、foo-app1
和 foo-app2
都可以生活在人工制品中而不复制 foo-common-0.0.1.jar
?我正在考虑让 artifactory 变得更聪明,并检查上传的 wars 和 zips 中已经存在于 artifactory 中的嵌入式 jar。可能通过比较文件哈希或利用 Maven 依赖信息。
不,目前没有 "smarter solution"。
Artifactory 不是 diff 引擎,无论是二进制还是其他;这是一个工件存储库。它不会重建或构造这些工件 "on-demand",它只是存储工件。
让我们考虑以下场景
foo-common
是构建 20mb jar 的项目 (foo-common-0.0.1.jar
)foo-app1
是一个将foo-common-0.0.1.jar
嵌入到zip
工件中的应用程序foo-app2
是一个将foo-common-0.0.1.jar
嵌入到war
工件中的应用程序foo-common
、foo-app1
和foo-app2
都部署到 artifactoryfoo-app1
和foo-app2
由不同的团队管理并位于不同的源存储库中
这会导致工件上的磁盘 space 问题,因为所有 3 个工件都包含 20mb foo-common-0.0.1.jar
,最终占用磁盘上的 60mb space。
有没有更聪明的解决方案?有没有办法让 foo-common
、foo-app1
和 foo-app2
都可以生活在人工制品中而不复制 foo-common-0.0.1.jar
?我正在考虑让 artifactory 变得更聪明,并检查上传的 wars 和 zips 中已经存在于 artifactory 中的嵌入式 jar。可能通过比较文件哈希或利用 Maven 依赖信息。
不,目前没有 "smarter solution"。
Artifactory 不是 diff 引擎,无论是二进制还是其他;这是一个工件存储库。它不会重建或构造这些工件 "on-demand",它只是存储工件。