关于使用 maven 将 jar 上传到 artifactory 的说明
Clarification regarding uploading jars to artifactory using maven
https://maven.apache.org/guides/mini/guide-central-repository-upload.html
按照上面的link,我们可以使用maven插件上传jar到我们自己的内部artifcatory。
我观察到的是传递依赖项没有上传到 artifactory 。
我们需要手动指定所有的传递依赖。
是否有任何方法可以强制所有传递依赖项也根据 pom.xml 中指定的主要依赖项上传到工件?
或者使用 gradle 可以实现吗?
通常的做法是设置一个或多个remote repositories,代理外部存储库,例如 JCenter 和 Maven Central,其中包含您需要的第 3 方依赖项。远程存储库用作缓存代理。
通常你聚合远程存储库(连同 local ones) using a virtual repository。这个虚拟存储库是开发人员和 CI 服务器使用的。这样开发人员只需要处理一个 URL.
如果您的组织不允许直接连接互联网并且开发人员不能使用远程存储库,您可以使用 2 个 Artifactory 实例的设置:
- 内部网络中一个没有互联网连接的实例
- DMZ 中的第二个实例具有互联网连接
思路是在DMZ中解析依赖,批准(或不批准),将批准的复制到内网。
您可以在 Shani Levy 的以下博客 post 中阅读有关此类设置的更多信息 - Using Artifactory with an air gap
https://maven.apache.org/guides/mini/guide-central-repository-upload.html
按照上面的link,我们可以使用maven插件上传jar到我们自己的内部artifcatory。 我观察到的是传递依赖项没有上传到 artifactory 。 我们需要手动指定所有的传递依赖。
是否有任何方法可以强制所有传递依赖项也根据 pom.xml 中指定的主要依赖项上传到工件?
或者使用 gradle 可以实现吗?
通常的做法是设置一个或多个remote repositories,代理外部存储库,例如 JCenter 和 Maven Central,其中包含您需要的第 3 方依赖项。远程存储库用作缓存代理。
通常你聚合远程存储库(连同 local ones) using a virtual repository。这个虚拟存储库是开发人员和 CI 服务器使用的。这样开发人员只需要处理一个 URL.
如果您的组织不允许直接连接互联网并且开发人员不能使用远程存储库,您可以使用 2 个 Artifactory 实例的设置:
- 内部网络中一个没有互联网连接的实例
- DMZ 中的第二个实例具有互联网连接
思路是在DMZ中解析依赖,批准(或不批准),将批准的复制到内网。
您可以在 Shani Levy 的以下博客 post 中阅读有关此类设置的更多信息 - Using Artifactory with an air gap