Maven私服

Posted suveng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven私服相关的知识,希望对你有一定的参考价值。

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

  • 登录

    技术图片

  • 改密码 admin/admin
    技术图片

    技术图片

配置

  • 中央仓库代理配置
    技术图片

    技术图片

  • 新建自定义的仓库
    技术图片
    技术图片

    技术图片

使用

  • 对本地 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>
    
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>8</source>
            <target>8</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.0.0</version>
          <executions>
            <execution>
              <id>attach-sources</id>
              <goals>
                <goal>jar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.0.0</version>
          <executions>
            <execution>
              <id>attach-javadocs</id>
              <goals>
                <goal>jar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
  • 在对应项目执行mvn deploy
    这样即可将对应jar包deploy到private-release的私服库中,如下图
    技术图片

备份

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

还原

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

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

资料

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

以上是关于Maven私服的主要内容,如果未能解决你的问题,请参考以下文章

部署maven及Nexus私服

掌握 Maven 私服

maven私服nexus的安装

Maven无法上传到到私服

Maven高级:私服简介私服仓库分类,资源上传与下载

Maven高级:第二篇