Maven私服

环境

centos7

Docker version 18.06.3-ce, build d7080c1

sonatype/nexus3:3.18.1

搭建方式

  • 二进制包搭建
  • docker搭建

docker搭建

  • docker pull sonatype/nexus3:3.18.1

  • mkdir -p /docker/nexus-data && chown -R 200 /docker/nexus-data
    创建挂在数据的目录.

  • docker run -d --restart=always --name nexus -p 8081:8081 -v /docker/nexus-data:/nexus-data sonatype/nexus3:3.18.1
    -d 后台运行

    --restart=always 开机启动

    --name docker的container的名字

    -v 挂载本地文件系统路径

    -p 挂载端口

  • 查看默认账号密码
    查看cat /docker/nexus-data/admin.password

  • 登录

    image-20190914165029614

  • 改密码 admin/admin
    image-20190914165153704

    image-20190914165213522

配置

  • 中央仓库代理配置
    image-20190914165635906

    image-20190914165754825

  • 新建自定义的仓库
    image-20190914170041549
    image-20190914170245839

    image-20190914170600212

使用

  • 对本地 Maven 配置文件 setting.xml 进行配置

    • 设置 server 账户信息每个server元素配置指定的仓库ID和用户信息

      <?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">
      
        <localRepository>${user.home}/.m2/repository</localRepository>
      
        <servers>
              <server>
                  <id>private-release</id>
                  <username>admin</username>
                  <password>admin</password>
              </server>
              <server>
                  <id>private-snapshot</id>
                  <username>admin</username>
                  <password>admin</password>
              </server>
          </servers>
      
          <profiles>
              <profile>
                  <id>dev</id>
                  <repositories>
                      <repository>
                          <id>private-release</id>
                          <url>http://192.168.9.233:8081/repository/private-release/</url>                 
                      </repository>
                      <repository>
                          <id>private-snapshot</id>
                          <url>http://192.168.9.233:8081/repository/private-snapshot/</url>
                      </repository>
                  </repositories>
              </profile>
          </profiles>
      
          <activeProfiles>
              <activeProfile>dev</activeProfile>
          </activeProfiles>
      
      </settings>
  • pom.xml配置

    <distributionManagement>
      <repository>
        <id>private-release</id>
        <url>http://192.168.9.233:8081/repository/private-release/</url>
      </repository>
      <snapshotRepository>
        <id>private-snapshot</id>
        <url>http://192.168.9.233:8081/repository/private-snapshot/</url>
      </snapshotRepository>
    </distributionManagement>
  • 在对应项目执行mvn deploy
    这样即可将对应jar包deploy到private-release的私服库中,如下图
    image-20190914174045560

备份

只要将挂在的 /docker/nexus-data 里面的数据备份即可

还原

将备份的 /data/nexus-data 数据挂载到 nexus 镜像即可,注意版本的镜像环境变量

可以通过 docker inspect image 即可查到对应镜像的环境参数

资料

https://mp.weixin.qq.com/s/VAAuIF_1JeRa-lmoU481Zg

版权声明:本文为suveng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/suveng/p/11519691.html