Docker专题系列之九:docker搭建和配置maven私服Nexus

一、DOCKER搭建MAVEN私服

1.拉取镜像

docker pull sonatype/nexus3

2.启动镜像

docker run -d -p 8081:8081 --name nexus sonatype/nexus3

3.配置认证信息

在apache-maven-3.5.3\conf 下的settings.xml 进行配置

找到 标签

    <server>
      <id>nexus-releases</id>
      <username>admin</username>
      <password>12345678</password>
    </server>
    <server>
      <id>nexus-snapshots</id>
      <username>admin</username>
      <password>12345678</password>
    </server>

在pom.xml中配置仓库地址

 <distributionManagement>
    <repository>
        <id>nexus-releases</id>
        <name>Nexus Releases Repository</name>
        <url>http://192.168.33.188:8081/repository/maven-releases</url>
    </repository>
    <snapshotRepository>
        <id>nexus-snapshots</id>
        <name>Nexus Snapshots Repository</name>
        <url>http://192.168.33.188:8081/repository/maven-snapshots</url>
    </snapshotRepository>
</distributionManagement>

在子项目下配置

<!--    配置代理-->
    <repositories>
        <repository>
            <id>nexus</id>
            <name>Nexus Releases Repository</name>
            <url>http://192.168.33.9:8081/repository/maven-public/</url>
            <releases><enabled>true</enabled></releases>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>Nexus Snapshots Repository</name>
            <url>http://192.168.33.9:8081/repository/maven-public/</url>
            <releases><enabled>true</enabled></releases>
            <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
    </pluginRepositories>

二、配置MAVEN私服

Nexus

实际企业开发过程中所有依赖都会走私服下载,需要在 Nexus 上配置相对应的 Maven 代理

创建代理仓库

目前咱们只需要配置三个必须的代理仓库(分别为 aliyun-nexusspring-milestonespring-snapshot),如果你有其它的代理仓库配置流程同下

  • 登录 Nexus 服务器
  • 点击 设置按钮 -> Repository -> Repositories

Docker专题系列之九:docker搭建和配置maven私服Nexus

  • 点击 Create Repository -> 选择 maven2 (proxy) 创建 Maven 代理仓库

Docker专题系列之九:docker搭建和配置maven私服Nexus

  • 配置阿里云仓库代理(版本策略为Release)
    • Name: aliyun-nexus
    • Version pollcy: Release
    • Remote storate: http://maven.aliyun.com/nexus/content/groups/public/

Docker专题系列之九:docker搭建和配置maven私服Nexus

  • 配置 Spring 仓库代理(版本策略为Release)
    • Name: spring-milestone
    • Version pollcy: Release
    • Remote storate: https://repo.spring.io/milestone

Docker专题系列之九:docker搭建和配置maven私服Nexus

  • 配置 Spring 仓库代理(版本策略为Snapshot)
    • Name: spring-snapshot
    • Version pollcy: Snapshot
    • Remote storate: https://repo.spring.io/snapshot

Docker专题系列之九:docker搭建和配置maven私服Nexus

  • 三个代理仓库创建成功后如下图所示

Docker专题系列之九:docker搭建和配置maven私服Nexus

配置代理仓库

三个代理仓库创建完成后还无法直接使用,需要进一步配置

  • 点击 设置按钮 -> Repository -> Repositories
  • 选择 maven-public,修改 Group如下图所示(注意先后顺序)

Docker专题系列之九:docker搭建和配置maven私服Nexus

配置计划任务

实际开发过程中可能每天都会产生大量的快照版本,每个快照都会占用相应的空间,历史快照版本就没有什么意义了应该定时清理以释放多占用的空间资源,我们可以通过 Tasks 计划任务选项定期清理旧的快照版本。

  • 点击>设置按钮>System>Tasks
    - **Task name:** `Delete SNAPSHOT`
    - **Repository:** `(All Repositories)`
    - **Minimum snapshot count:** `1`
    - **Snapshot retention (days):** `0`
    - **Task frequency:** `Manual`
    
    

Docker专题系列之九:docker搭建和配置maven私服Nexus

Maven

Nexus 配置完成后还需要配置 Maven,如果第一次启动 Nexus 时选择了 禁止匿名访问 (修改密码之后的操作)拉取依赖时是需要权限验证的还包括部署等其它配置。

配置服务认证

  • 修改 {你的 Maven 目录}/conf/settings.xml 配置文件

  • 修改

    <servers>
    

    元素

    • id: 唯一标识(POM 和 mirror 元素需要与之匹配
    • username: Nexus 登录账号
    • password: Nexus 登录密码
<servers>
    <server>
        <id>nexus-public</id>
        <username>admin</username>
        <password>12345678</password>
    </server>
    <server>
        <id>nexus-releases</id>
        <username>admin</username>
        <password>12345678</password>
    </server>
    <server>
        <id>nexus-snapshots</id>
        <username>admin</username>
        <password>12345678</password>
    </server>
</servers>

配置镜像仓库

  • 修改

    <mirrors>
    

    元素

    • id: 需要与 server 元素中的 id 匹配
    • mirrorOf: 可以填入 central*(所有依赖均通过私服下载)
    • name: 随便
    • url: 仓库地址
<mirrors>
    <mirror>
        <id>nexus-public</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus Public</name>
        <url>http://nexus.funtl.com/repository/maven-public/</url>
    </mirror>
</mirrors>
上一篇:Oracle11g下载、安装、客户端安装、PLSQL远程连接数据库(即监听配置)及环境变量配置


下一篇:Linux系统在启动过程中grub引导文件丢失的解决方法