基于Docker容器搭建maven私服 nexus

1、docker执行

将容器内部/var/nexus-data目录挂载到主机/data/nexus-data目录。

docker run -d -p 8081:8081 --name nexus -v /data/nexus-data:/var/nexus-data --restart=always -e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs" sonatype/nexus3

2、关闭防火墙

systemctl stop firewalld
sudo ufw disable

3、登录   172.0.0.1:8081

登录前先进入容器查看密码

docker exec -it nexus bash
cat /opt/sonatype/sonatype-work/nexus3/admin.password

 输入默认的账号密码之后成功登录之后,Nexus 就会强制要求修改 admin 的密码,并且设置基本访问权限,完成之后就正式进入了 Nexus 私服后台。

 

4、创建私服仓库

修改中央仓库地址为阿里云:

登录maven私服,点击设置,选择Repositories,可以看到所有的仓库。

修改地址为:https://maven.aliyun.com/repository/central

最下面保存

 

 

最后创建仓库

创建一个仓库xxxx,类型为maven2(hosted)

策略policy为release,发布策略为Allow redeploy

 

创建用户

选择Users,创建用户,注意为用户选择相应的权限

 

发布jar包到私服 

1、拷贝public仓库地址

配置maven settings文件的服务器用户名密码

<servers>
<server>
<id>xxxx</id>
<username>nexus</username>
<password>123456</password>
</server>
</servers>

pom指定地址

<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE -->
  <!--指定仓库地址 -->
    <distributionManagement>
        <repository>
            <id>xxxx</id>
            <name>Nexus Release Repository</name>
            <url>http://xxxxxx:8081/repository/myrepo/</url>
        </repository>
    </distributionManagement>  
 
 
  <build>
    <plugins>
      <!--发布代码Jar插件 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.7</version>
      </plugin>
      <!--发布源码插件 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.2.1</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

打开终端,输入mvn deploy,即可将我们的jar包发布到maven私服上或者IDEA执行

 

使用私服jar

 
<repositories>
    <repository>
      <id>xxxx</id>
      <url>http://ip:8081/repository/xxxx/</url>
    </repository>
</repositories>

你的groupId

<dependency>
  <groupId>xxxx</groupId>
  <artifactId>xxxx</artifactId>
  <version>1.0.0-RELEASE</version>
</dependency>

 

posted @ 2024-12-11 12:45  韦邦杠  阅读(6)  评论(0编辑  收藏  举报