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>
本文来自博客园,作者:HumorChen99,转载请注明原文链接:https://www.cnblogs.com/HumorChen/p/18039524