0
点赞
收藏
分享

微信扫一扫

搭建nexus私服


1、​​官方安装文档​​

2、​​Docker 环境下搭建nexus私服​​  (主要参考)

3、 ​​sonatype/nexus3​​(docker hub)

4、​​使用Nexus搭建Maven私服​​

5、​​ubuntu下使用Nexus搭建Maven私服​​

6、​​Linux (Ubuntu)安装nexus,搭建maven私有服务器​​

7、​​Nexus 3.x 安装/配置/使用​​

8、​​https://help.sonatype.com/repomanager3/user-interface/working-with-your-user-profile​​

9、​​Nexus3.x安装及配置​​

10、​​Nexus仓库搭建及配置详解  (参考三)​​

11、​​Nexus私服搭建及settings.xml配置详细教程  (参考一)​​

12、​​nexus私服搭建及信息配置 (参考二)​​

13、​​【Maven】---Nexus私服配置Setting和Pom (参考四)​​

安装nexus3

1、查找镜像

docker search nexus

一般安装​​star​​​数最多的版本,目前最新是​​sonatype/nexus3​

2、拉取镜像

docker pull sonatype/nexus3

3、启动镜像
 

#指定虚拟机与容器共享的文件夹
mkdir /usr/local/docker/nexus/nexus-data

#指定数据卷后启动,可能会报一些权限错误,导致启动不起来。可能会需要修改文件夹权限
chmod 777 /usr/local/docker/nexus/nexus-data

#启动容器
docker run -p 8081:8081 --name nexus -v /usr/local/docker/nexus/nexus-data:/nexus-data snoatype/nexus3

 

创建阿里云Proxy仓库

1、Repository-->Repositories-->Create repository-->maven2(proxy)

搭建nexus私服_docker

附阿里云中央仓库地址:​​http://maven.aliyun.com/nexus/content/groups/public/​​

2、配置仓库组(默认已有一个maven-public):

把刚创建的阿里仓库加入maven-public仓库组

Repository-->Repositories-->Create repository-->maven2(group)

搭建nexus私服_maven_02

注:注意仓库顺序。maven查找依赖时会依次遍历仓库组中的仓库。

 

在Maven 中使用Nexus

为了能让本机所有的Maven项目都使用Nexus本地仓库,需要对settings.xml文件进行修改,但setting.xml并不支持直接配置repositories和pluginRepositories,因此需要使用Maven提供的Profile机制,将仓库配置放到setting.xml中的Profile中。代码清单如下:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<!-- 设置私库认证信息(访问) -->
<server>
<id>insuresmart-nexus</id>
<username>admin</username>
<password>admin</password>
</server>

<!-- 设置私库认证信息(发布) -->
<server>
<id>insuresmart-nexus-releases</id>
<username>admin</username>
<password>admin</password>
</server>

<server>
<id>insuresmart-nexus-snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>

<!--设置私库mirror 表示maven所有的请求都由nexus来处理 -->
<mirrors>
<mirror>
<id>insuresmart-nexus</id>
<name>Yitong Nexus Repository</name>
<mirrorOf>*</mirrorOf>
<url>http://192.168.124.125:8081/repository/maven-public/</url>
</mirror>
</mirrors>

<!--设置maven私库信息 -->
<profiles>
<profile>
<id>insuresmart-nexus</id>
<repositories>
<repository>
<id>insuresmart-nexus</id>
<name>insuresmart nexus repository</name>
<url>http://192.168.124.125:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>insuresmart-nexus</id>
<name>insuresmart nexus repository</name>
<url>http://192.168.124.125:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>

<!--覆盖maven中央仓库设置开启releases和snapshots版本的下载-->
<profile>
<id>central</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>

<!--激活私库信息的配置 -->
<activeProfiles>
<activeProfile>insuresmart-nexus</activeProfile>
<activeProfile>central</activeProfile>
</activeProfiles>
</settings>

pom.xml文件配置

<!--当前项目发布到远程仓库中-->
<distributionManagement>
<repository>
<id>insuresmart-nexus-releases</id>
<name>insuresmart-nexus-releases</name>
<url>http://192.168.124.125:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>insuresmart-nexus-snapshots</id>
<name>insuresmart-nexus-snapshots</name>
<url>http://192.168.124.125:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>

标签id的值必须与setting文件中server标签中的值一致。

 

然后在需要部署的文件上使用 mvn clean deploy  部署到nexus私服上。

 

<server>
<id>insuresmart-nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>

<server>
<id>insuresmart-nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>

部署

然后在需要部署的文件上使用 mvn clean deploy  部署到nexus私服上。

IntelliJ IDEA 可以直接使用Maven下的deploy进行部署

搭建nexus私服_maven_03

备注:install 是安装到本地仓库,也即本机如:C:\Users\Admin\.m2\repository\里

 

参考:

1、​​Nexus仓库搭建及配置详解  ​​

2、​​Nexus私服搭建及settings.xml配置详细教程  ​​

3、​​nexus私服搭建及信息配置 ​​

4、​​【Maven】---Nexus私服配置Setting和Pom ​​

举报

相关推荐

0 条评论