Sonatype Nexus Repository 3(Sonatype Nexus 3)是一个由Sonatype开发的仓库管理工具,用于管理和托管各种软件构件(如Maven构件、Docker镜像等)。它提供了一种集中化的方式来存储、管理和分发软件构件,以帮助团队协作和构建自动化。
Sonatype Nexus Repository 3的主要特点包括:
Sonatype Nexus Repository 3是一个强大的工具,可帮助开发团队有效地管理和分发构件,提高构建流程的可靠性和效率。
下载地址
https://help.sonatype.com/repomanager3/product-information/download/download-archives---repository-manager-3
如何安装:
https://help.sonatype.com/repomanager3/installation-and-upgrades/installation-methods
我们将执行以下操作:
我建议您为每个新的仓库创建一个新的Blob存储。这样,每个仓库的数据将位于/nexus-data目录下的不同文件夹中(在Docker容器内)。但这不是必需的,它只是为了更好的组织数据。
一个用于部署带有版本标签中"-SNAPSHOT"的Maven构件的仓库,例如:<version>1.0.0-SNAPSHOT</version>
创建一个新的Maven(托管)仓库,并按如下方式配置它:
一个用于部署Maven构件的仓库,这些构件在pom.xml的版本标签末尾不带有"-SNAPSHOT",例如:
<version>1.0.0</version>
创建一个新的Maven(托管)仓库并进行如下配置:
一个代理仓库,用于代理从Maven Central下载的所有内容。下次下载相同的依赖项时,它将被缓存在您的Sonatype Nexus中。
创建一个新的Maven(代理)仓库并按以下方式配置它:
这将分组上述所有的仓库,并为您提供一个单一的URL,以方便配置您的客户端从仓库中下载/部署。
创建一个新的Maven(组)仓库并按以下方式配置它:
您可以根据需要创建多个仓库(例如设置多个代理到其他公共仓库),然后将它们全部分组到组仓库中。
将以下内容放入您的~/.m2/settings.xml
文件中。这将配置发布到您的托管仓库的凭据,并告诉您的mvn
将您的仓库用作中央仓库的镜像:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
<servers>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<mirror>
<id>central</id>
<name>central</name>
<url>http://your-host:8081/repository/maven-group/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
</settings>
也可以配置在项目中的pom.xml 中。
如果您只想从Sonatype Nexus下载依赖项,请将以下内容放入pom.xml
文件中:
<project ...>
...
<repositories>
<repository>
<id>maven-group</id>
<url>http://your-host:8081/repository/maven-group/</url>
</repository>
</repositories>
</project>
如果您还想发布您的项目,请添加以下内容:
<project ...>
...
<distributionManagement>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://your-host:8081/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>nexus-releases</id>
<url>http://your-host:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
</project>
现在,如果您在您的项目中运行以下命令:
mvn install
# or
mvn deploy
这将能发布到你配置的Sonatype Nexus 中。