ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-12-28 11:03:58  阅读:159  来源: 互联网

标签:Repository Nexus 配置 私服 仓库 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

img

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

img

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

img

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

img

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

img

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

img

配置代理仓库

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

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

img

配置计划任务

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

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

img

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>

标签:Repository,Nexus,配置,私服,仓库,maven,nexus
来源: https://blog.csdn.net/hualinger/article/details/122187625

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有