• Docker 和 Nexus 搭建私有 Maven 仓库


    使用 Docker 启动 Nexus

    # 创建存储数据的目录

        mkdir -p /opt/module/data

    # 修改目录权限,否则 nexus 启动时会报错没有权限

        chown -R 755 /opt/module/data

    # 启动

      docker run -d -p 8081:8081 -v /opt/module/data:/nexus-data --name nexus sonatype/nexus3

    # 注: Nexus3 初始密码不再是admin123

    获取admin登录密码方法:

      cat /opt/module/data/admin.password

    配置 Nexus

    Nexus 默认创建了四个 Maven 仓库,因此不需要手动去创建。

    在 Administration >> Repository >> Repositories 页面可以看到仓库列表:

    仓库名称类型格式说明
    maven-central proxy maven2 中央仓库
    maven-releases hosted maven2 正式版仓库
    maven-snapshots hosted maven2 测试版仓库
    maven-public group maven2 仓库组,集合了其他三个仓库

    关闭匿名访客权限

    默认情况下匿名访客时可以看到仓库列表的,为了不泄露信息,需要关闭其访问权限。

    在 Administration >> Security >> Anonymous 页面,取消打勾 Allow anonymous users to access the server 并保存。

    新建角色和用户

    系统默认的 admmin 账户权限太大,一般建议新建一个普通账户,并授予有限的权限。首先在 Administration >> Security >> Roles 页面新建一个角色,并授予以下的权限:

    nx-repository-view-*-*-browse
    nx-repository-view-maven2-*-*
    

    接着新建一个用户,授予该角色权限。

    配置 Maven 并发布

    修改文件 ~/.m2/settings.xml,增加:

    <server>
      <id>nexus-release</id>
       <username>admin</username>
       <password>密码</password>
    </server>
    <server>
      <id>nexus-snapshots</id>
      <username>admin</username>
       <password>密码</password>
    </server>

    pom.xml配置

    <distributionManagement>
    <repository>
       <id>nexus-release</id>
       <name>user release resp</name>
        <url>http://localhost:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
       <id>nexus-snapshots</id>
       <name>user snapshots resp</name>
        <url>http://localhost:8081/repository/maven-snapshots/</url>
      </snapshotRepository>
    </distributionManagement>

    然后执行 mvn deploy 部署项目,

    如果控制台打印出 BUILD SUCCESS 则表示发布成功

     击IDEA中的deploy

  • 相关阅读:
    Test SLURM
    PGM_Foundations
    PGM-Introduction
    Functional Analysis-Metric Space
    Introduction to Machine Learning
    Time Series Analysis
    Solving Puzzles With HHT From a Engineering Perspective
    Docker-3:Data Volume
    Docker-2:network containers
    Docker-1
  • 原文地址:https://www.cnblogs.com/mscm/p/13124751.html
Copyright © 2020-2023  润新知