基于Docker构建Maven私服库

基于Docker构建Maven私服库

前提: 本文档基于读者已经安装好Docker,如果未安装Docker请参考链接

安装nexus3

#下载nexus3 容器
$ docker pull sonatype/nexus3

#创建目录作为数据卷
$ mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data
$ docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data --restart unless-stopped sonatype/nexus3

#查看执行日志
$ docker logs -f nexus

如果一切成功的话,会显示如下日志信息。
这里写图片描述

Nexus 的Maven 仓库配置

这里写图片描述

Proxy私库配置
这里写图片描述

配置Maven setting文件

修改“nexus.ip”为nexus容器部署的ip地址

<?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">

  <pluginGroups>
    <pluginGroup>org.sonatype.plugins</pluginGroup>  
  </pluginGroups>

  <proxies></proxies>

  <servers>
    <server>
        <id>nexus</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>  
  </servers>

  <mirrors>
    <mirror>
        <id>nexus-private</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus</name>
        <url>http://nexus.ip:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>

  <profiles>
    <profile>  
        <id>nexus</id>  
        <repositories>  
            <repository>  
                <id>central</id>  
                <url>http://central</url>  
                <releases><enabled>true</enabled></releases>  
                <snapshots><enabled>true</enabled></snapshots>  
            </repository>  
        </repositories>  
        <pluginRepositories>  
            <pluginRepository>  
                <id>central</id>  
                <url>http://central</url>  
                <releases><enabled>true</enabled></releases>  
                <snapshots><enabled>true</enabled></snapshots>  
            </pluginRepository>  
        </pluginRepositories>  
    </profile>  
  </profiles>

  <activeProfiles>  
    <activeProfile>nexus</activeProfile>  
  </activeProfiles> 
</settings>

修改pom.xml文件

修改nexus.ip 为你的nexus的ip地址

    <distributionManagement>
        <repository>
            <id>nexus</id>
            <name>Releases</name>
            <url>http://nexus.ip:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus</id>
            <name>Snapshot</name>
            <url>http://nexus.ip:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

更新依赖并查看nexus是否下载成功

这里写图片描述

mvn deploy:deploy-file -DgroupId=group.id -DartifactId=artifact.id -Dversion=version -Dpackaging=jar -Dfile=your/jar/path/xxx.jar -Durl=http://nexus.ip:port/repository/maven-releases/ -DrepositoryId=nexus

替换发布的jar的 group.id、artifact.id、version 、your/jar/path/xxx.jar、nexus.ip
-DrepositoryId=nexus 这个是setting.xml 中配置的id。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值