docker 安装 nexus
1.拉取镜像
docker pull sonatype/nexus3
2.运转容器
docker run -d -p 8081:8081 -p 8082:8082 --name nexus --restart=always -v /opt/docker-nexus/data:/var/nexus-data sonatype/nexus3
3.检查默许密码
进入容器
docker exec -it name bash
cat /nexus-data/admin.password
阿里云提供免费库房
[INFO] 阿里云Maven中央库房为阿里如此效提供的公共署理库房,云效也提供了免费、可靠的Maven私有库房Packages,欢迎您体验使用。www.aliyun.com/product/yun…
推送命令
mvn clean install org.apache.maven.plugins:maven-deploy-plugin:2.8:deploy -DskipTests
本地装备nexus库房
1.发动好nexus库房后
2.需求推的包的pom文件装备
这个是放项目里的pom文件(也能够装备在本地setting文件里),那个项目需求deploy就用这个装备,当然条件是本地maven的setting文件也必须要装备账号密码
<distributionManagement>
<repository>
<id>admin</id><!--账号-->
<name>maven-releases</name>
<url>http://ip:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>admin</id>
<name>maven-snapshots</name>
<url>http://ip:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
3.本地maven setting文件装备账号密码
<servers>
<!-- Maven私服装备 -->
<server>
<id>admin</id> <!-- id 也是用户名 -->
<username>admin</username> <!-- 用户名-->
<password>xxx</password> <!-- 密码-->
</server>
</servers>
4.推送到私服库房
- install: 是把jar推送到本地的maven库房
- deploy:是把jar推送到你装备的远端库房
5.本地maven setting文件 装备私服库房,拉取依赖
<profiles>
<profile>
<!-- maven私服 -->
<id>maven-nexus</id>
<repositories>
<repository>
<id>admin</id>
<name>admin</name>
<url>http://ip:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>admin</id>
<name>admin</name>
<url>http://ip:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!-- activeProfile的特点值便是上面profiles列表种profile的id,若不存在则忽视 -->
<activeProfile>maven-nexus</activeProfile>
<!-- <activeProfile>rdc</activeProfile> -->
</activeProfiles>
遇到的问题
jar不能重复deploy,解决办法很简单,把库房设置为允许重复deploy就行了
遗留问题
- 库房下载能够装备多个,第一个地址下载不到就会去第二个地址下载,现在看便是写的顺序,在前面的装备先下载,都下载不到才会报错,暂时没问题
- 库房deploy如同不能同时deploy两个地址,只会选取一个,能够根据来指定,可是两个都填进去的话也只会默许选一个,现在看是优先选私服,其次选阿里云的nexus,有点古怪,不过影响不大
<activeProfiles>
<!-- activeProfile的特点值便是上面profiles列表种profile的id,若不存在则忽视 -->
<activeProfile>maven-nexus</activeProfile>
<!-- 两个都有的情况下默许会选soon-nexus 而不是aliyun-nexus -->
<activeProfile>aliyun-nexus</activeProfile>
<activeProfile>soon-nexus</activeProfile>
</activeProfiles>
好文引荐
Linux下使用Nexus创立maven私服-腾讯云开发者社区-腾讯云 (tencent.com)