基于Docker安装maven私服 nexus
现在很多企业都会搭建自己的maven私服,管理项目的jar包,本文实现基于docker搭建maven私服
一、部署maven私服
1.下载nexus镜像
docker pull sonatype/nexus3 |
2.启动nexus容器
将容器内部/var/nexus-data目录挂载到主机/root/nexus-data目录。
docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3 |
3.登录nexus
关闭防火墙后访问http://ip:8081,maven私服启动稍微比较慢,等待1分钟左右。
systemctl stop firewalld
默认登陆账号用户名为admin,密码需要进入容器查看:
docker exec -it 652d3f9d14da /bin/bash
bash-4.4$ cat /opt/sonatype/sonatype-work/nexus3/admin.passward
二、创建私服仓库
1.修改中央仓库地址为阿里云
登录maven私服,点击设置,选择Repositories,可以看到所有的仓库。
其中maven-central为默认中央仓库,我们需要把仓库地址修改为阿里云仓库地址http://maven.aliyun.com/nexus/content/groups/public
2.创建仓库
创建一个仓库,类型为maven2(hosted)
策略policy为release,发布策略为Allow redeploy
3.创建用户
选择Users,创建用户,注意为用户选择相应的权限
三、发布jar包到私服
1.修改项目的pom文件
把项目的版本SNAPSHOT修改为RELEASE, 并发布到指定maven私服地址
<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE -->
<!--指定仓库地址 -->
<distributionManagement>
<repository>
<!--此名称要和.m2/settings.xml中设置的ID一致 -->
<id>mayikt</id>
<url>http://192.168.212.230:8081/repository/mayikt-release/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!--发布代码Jar插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<!--发布源码插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2.上传项目jar包到maven私服
打开终端,输入mvn deploy,即可将我们的jar包发布到maven私服上
这时登录到私服上,可以看到上传的mayikt01 jar包
四、导入maven私服jar包
修改项目的pom文件,配置repositories为我们的maven私服地址即可
<repositories>
<repository>
<id>mayikt</id>
<url>http://192.168.1.110:8081/repository/mayikt-release/</url>
</repository>
</repositories>