搭建Maven私服Nexus

通过docker-compose安装nexus

  1. 创建本地数据卷,修改权限
mkdir -p /usr/local/docker/nexus/data && chown -R 200 /usr/local/docker/nexus/data
cd /usr/local/docker/nexus
vim docker-compose.yml
  1. docker-compose.yml
version: '3.5'
services:
  nexus:
    restart: always
    image: sonatype/nexus3:3.23.0
    container_name: nexus
    environment:
      INSTALL4J_ADD_VM_PARAMS: -XX:ActiveProcessorCount=4
    ports:
      - 8081:8081
    volumes:
      - ./data:/nexus-data
  1. 启动容器
docker-compose up -d
  1. 默认账号密码
  • 默认账号:admin

  • 默认密码:cat /usr/local/docker/nexus/data/admin.password

  1. 登录Nexus,配置向导
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

配置Nexus

  1. 创建代理仓库(分别为 aliyun-nexus、spring-milestone、spring-snapshot)
  • 点击 设置按钮 -> Repository -> Repositories
    在这里插入图片描述

  • 点击 Create Repository -> 选择 maven2 (proxy) 创建 Maven 代理仓库
    在这里插入图片描述

  • 配置阿里云仓库代理(版本策略为 Release)

    • Name: aliyun-nexus
    • Version pollcy: Release
    • Remote storate: http://maven.aliyun.com/nexus/content/groups/public/
      在这里插入图片描述
  • 配置 Spring 仓库代理(版本策略为 Release)

    • Name: spring-milestone
    • Version pollcy: Release
    • Remote storate: https://repo.spring.io/milestone
      在这里插入图片描述
  • 配置 Spring 仓库代理(版本策略为 Snapshot)

    • Name: spring-snapshot
    • Version pollcy: Snapshot
    • Remote storate: https://repo.spring.io/snapshot
      在这里插入图片描述
  1. 配置代理仓库
    选择 maven-public,修改 Group,将左边的移动到右边并修改顺序(注意先后顺序)
    在这里插入图片描述
    在这里插入图片描述

配置计划任务

通过 Tasks 计划任务选项定期清理旧的快照版本

  • 点击 设置按钮 -> System -> Tasks
    • Task name: Delete SNAPSHOT
    • Repository: (All Repositories)
    • Minimum snapshot count: 1
    • Snapshot retention (days): 0
    • Task frequency: Manual
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

配置Maven

  1. 配置服务认证
  • 修改 {你的 Maven 目录}/conf/settings.xml 配置文件
  • 修改 元素
    • id: 唯一标识(POM 和 mirror 元素需要与之匹配)
    • username: Nexus 登录账号
    • password: Nexus 登录密码
<servers>
    <server>
        <id>nexus-public</id>
        <username>admin</username>
        <password>123456</password>
    </server>
    <server>
        <id>nexus-releases</id>
        <username>admin</username>
        <password>123456</password>
    </server>
    <server>
        <id>nexus-snapshots</id>
        <username>admin</username>
        <password>123456</password>
    </server>
</servers>

2.1 配置镜像仓库(在settings.xml中),主要用于下载jar包

  • 修改 元素
    • id: 需要与 server 元素中的 id 匹配
    • mirrorOf: 可以填入 central 或 *(所有依赖均通过私服下载)
    • name: 随便
    • url: 仓库地址
<mirrors>
    <mirror>
        <id>nexus-public</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus Public</name>
        <url>http://192.168.219.128:8081/repository/maven-public/</url>
    </mirror>
</mirrors>

2.2 配置镜像仓库(在pom.xml中),主要用于下载jar包

<repositories>
	<repository>
	    <id>nexus-public</id>
	    <name>Nexus Repository</name>
	    <url>http://192.168.219.128:8081/repository/maven-public/</url>
	    <snapshots>
	        <enabled>true</enabled>
	    </snapshots>
	    <releases>
	        <enabled>true</enabled>
	    </releases>
	</repository>
</repositories>
<pluginRepositories>
	<pluginRepository>
	    <id>nexus-public</id>
	    <name>Nexus Plugin Repository</name>
	    <url>http://192.168.219.128:8081/repository/maven-public/</url>
	    <snapshots>
	        <enabled>true</enabled>
	    </snapshots>
	    <releases>
	        <enabled>true</enabled>
	    </releases>
	</pluginRepository>
</pluginRepositories>
  1. 项目pom,xml中配置私服,主要用户上传jar包
  • 私服信息,id要和setting.xml中Server.id相同
    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.219.128:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.219.128:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

在这里插入图片描述
4. 部署依赖到私服

mvn clean deploy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值