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
密码:刚才复制的

登录后修改密码,再点击设置
ubuntu maven私服nexus搭建示范_第1张图片
创建一个仓库
ubuntu maven私服nexus搭建示范_第2张图片
填写名字aliyun,远程地址:http://maven.aliyun.com/nexus/content/groups/public/
ubuntu maven私服nexus搭建示范_第3张图片
确定添加,然后回到repositories里,双击maven-public
ubuntu maven私服nexus搭建示范_第4张图片
创建我们的发布releases仓库和snapshots仓库,类型maven(hosted),redeploy设置允许,然后创建。
ubuntu maven私服nexus搭建示范_第5张图片

把aliyun、fpa-releases、fpa-snapshots这三个仓库添加进去
ubuntu maven私服nexus搭建示范_第6张图片

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

<server>
        <id>fpa-releasesid>
        <username>adminusername>
        <password>yourpasswordpassword>
    server>
    
    <server>
        <id>fpa-snapshotsid>
        <username>adminusername>
        <password>yourpasswordpassword>
    server> 

然后在控制台里双击maven-public查看你的远程仓库地址
ubuntu maven私服nexus搭建示范_第7张图片
前往项目里对pom.xml添加,点击idea里maven的deploy就可以打包jar发布到你的私服了


    <distributionManagement>
        <repository>
            <id>fpa-releasesid>
            <name>releasesname>
            <url>http://nexus.yourhostname/nexus/repository/fpa-release/url>
            <uniqueVersion>trueuniqueVersion>
        repository>
        <snapshotRepository>
            <id>fpa-snapshotsid>
            <name>snapshotsname>
            <url>http://nexus.yourhostname/nexus/repository/fpa-snapshots/url>
        snapshotRepository>
    distributionManagement>
    <repositories>
        
        <repository>
            <id>nexusid>
            <name>Nexus Snapshot Repositoryname>
            <url>http://nexus.yourhostname/nexus/repository/maven-public/url>
            <releases>
                <enabled>trueenabled>
            releases>
            <snapshots>
                <enabled>trueenabled>
            snapshots>
        repository>
    repositories>

你可能感兴趣的:(Java,java,maven私服,nexus)