Docker 搭建nexus 上传pom 和jar文件

1,294 阅读1分钟

安装 Nexus

mkdir -p /usr/local/work/dockermaven

# 给目录创建读写权限 
chmod 777 /usr/local/work/dockermaven

docker run -idt -p 8081:8081 --name nexus -v /usr/local/work/dockermaven:/sonatype-work sonatype/nexus 

访问地址如下 http://192.168.31.40:8081/nexus 换成自己Ip

右上角登录 默认账号密码 admin admin123

修改maven配置

修改maven 的setting.xml 配置, macos idea 自带的maven ~/.m2/setting.xml,没有的话 就去idea中勾选 user settings file 后面的 Override 选项

添加节点

 <servers> 
      
      <server> 
        <id>nnexus-snapshots</id> 
        <username>admin</username> 
        <password>admin123</password> 
      </server> 
      <server> 
        <id>nexus-releases</id> 
        <username>admin</username> 
        <password>admin123</password> 
      </server> 
    </servers> 

完整setting.xml


<?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">
 <mirrors>
    
      <mirror>  
         <id>aliyunmaven</id>
         <mirrorOf>*</mirrorOf>
         <name>阿里云公共仓库</name>
         <url>https://maven.aliyun.com/repository/public</url>       
      </mirror> 
  </mirrors>
   <servers> 
      
      <server> 
        <id>nnexus-snapshots</id> 
        <username>admin</username> 
        <password>admin123</password> 
      </server> 
      <server> 
        <id>nexus-releases</id> 
        <username>admin</username> 
        <password>admin123</password> 
      </server> 
    </servers> 
 
</settings>

修改项目 pom 文件

注意: server 节点中 的id 和下面 repository节点的id对应 ,地址对应仓库Allow Redeploy 选项需要在nexus中开启

<distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.31.40:8081/nexus/content/repositories/releases</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.31.40:8081/nexus/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

执行发布