我们有 Artifactory 设置,我们使用 Maven 中央存储库来下载工件,然后自动缓存在 Artifactory 中。我们还在 Artifactory 中上传/部署我们自己的工件。
我现在想用 jcenter替换Maven 中央存储库,并想继续使用我们的 Artifactory 来上传/部署我们自己的工件以及缓存 jcenter(和任何第三方)工件。我可以要求所有开发人员修改他们的settings.xml文件,因为这将是一次性活动,所以这不是问题。
我看到了@helmedeiros 的这个链接,它描述了对 settings.xml 文件的部分<repositories>
进行更改。<pluginRepositories>
但是,这些是我为我们的 Artifactory 服务器指定 URL 的部分。如果我替换了我的 Artifactory URL,那么这意味着我将能够从 jcenter 获取和上传工件,这不是我想要的。
我如何确保所有开发人员只能从 jcenter 拉(不部署/上传)并仅部署/上传到 Artifactory?
这是我们现在在 settings.xml 中的内容:
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<servers>
<server>
<username>${security.getCurrentUsername()}</username>
<password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
<id>central</id>
</server>
<server>
<username>${security.getCurrentUsername()}</username>
<password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
<id>snapshots</id>
</server>
</servers>
<profiles>
<profile>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>https://inhouse-artifactory/artifactory/libs-release</url>
</repository>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>https://inhouse-artifactory/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>plugins-release</name>
<url>https://inhouse-artifactory/artifactory/plugins-release</url>
</pluginRepository>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>plugins-snapshot</name>
<url>https://inhouse-artifactory/artifactory/plugins-snapshot</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>
我将非常感谢这方面的任何帮助。