ubuntu maven私服nexus搭建示范

基础知识

maven仓库类型

maven仓库类型只有3中,分别是: hosted、proxy、group

hosted:宿主类型 内部项目的发布仓库,专门用来存储我们自己生成的jar文件
proxy:代理类型 从远程中央仓库中寻找数据的仓库,如可配置阿里云maven仓库
group:组类型 组仓库用来方便我们开发人员进行设置的仓库
简单来说: group = hosted+proxy

版本类型

release:专用于部署发布版本的jar
snapshot:专用于部署快照版本的jar,jar都是以-SNAPSHOT结尾,pom中version需以-SNAPSHOT(必须大写)结尾
mixed:可包含release和snapshot版本

权限管理

数据权限:repository权限有两种类型:

repository admin
repository view
每种类型又有6种权限标识,分别是:*,add,browse、delete、edit、read,*包含其它5种权限,也可以自定义操作标识,正常系统的生成权限足够使用

docker拉取nexus

#拉取镜像
docker pull docker.io/sonatype/nexus3
#建立数据文件夹
mkdir -p /data/nexus3/nexus-data
#修改文件夹所有者
chown -R 200 /data/nexus3/nexus-data
# 创建容器
docker run -tid -p 8081:8081 --name nexus -e NEXUS_CONTEXT=nexus -v /data/nexus3/nexus-data:/nexus-data  docker.io/sonatype/nexus3
#进入docker容器查看密码
docker exec -it nexus /bin/bash
cat /nexus-data/admin.password
#复制密码去登录

登录控制台

控制台地址:http://ip:8081/nexus
登录账号admin
密码:刚才复制的

登录后修改密码,再点击设置
在这里插入图片描述
创建一个仓库
在这里插入图片描述
填写名字aliyun,远程地址:http://maven.aliyun.com/nexus/content/groups/public/
在这里插入图片描述
确定添加,然后回到repositories里,双击maven-public
在这里插入图片描述
创建我们的发布releases仓库和snapshots仓库,类型maven(hosted),redeploy设置允许,然后创建。
在这里插入图片描述

把aliyun、fpa-releases、fpa-snapshots这三个仓库添加进去
在这里插入图片描述

保存后,修改Maven下setting.xml
setting.xml在servers标签下加入

<server>
        <id>fpa-releases</id>
        <username>admin</username>
        <password>yourpassword</password>
    </server>
    
    <server>
        <id>fpa-snapshots</id>
        <username>admin</username>
        <password>yourpassword</password>
    </server> 

然后在控制台里双击maven-public查看你的远程仓库地址
在这里插入图片描述
前往项目里对pom.xml添加,点击idea里maven的deploy就可以打包jar发布到你的私服了

<!-- 配置deploy部署到哪里去 -->
    <distributionManagement>
        <repository>
            <id>fpa-releases</id>
            <name>releases</name>
            <url>http://nexus.yourhostname/nexus/repository/fpa-release/</url>
            <uniqueVersion>true</uniqueVersion>
        </repository>
        <snapshotRepository>
            <id>fpa-snapshots</id>
            <name>snapshots</name>
            <url>http://nexus.yourhostname/nexus/repository/fpa-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
    <repositories>
        <!-- 配置nexus maven私服远程仓库 -->
        <repository>
            <id>nexus</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://nexus.yourhostname/nexus/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
posted @ 2021-11-28 23:43  HumorChen99  阅读(21)  评论(0编辑  收藏  举报  来源