基于Docker容器搭建maven私服 nexus
1、docker执行
将容器内部/var/nexus-data目录挂载到主机/data/nexus-data目录。
docker run -d -p 8081:8081 --name nexus -v /data/nexus-data:/var/nexus-data --restart=always -e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs" sonatype/nexus3
2、关闭防火墙
systemctl stop firewalld
sudo ufw disable
3、登录 172.0.0.1:8081
登录前先进入容器查看密码
docker exec -it nexus bash
cat /opt/sonatype/sonatype-work/nexus3/admin.password
输入默认的账号密码之后成功登录之后,Nexus 就会强制要求修改 admin 的密码,并且设置基本访问权限,完成之后就正式进入了 Nexus 私服后台。
4、创建私服仓库
修改中央仓库地址为阿里云:
登录maven私服,点击设置,选择Repositories,可以看到所有的仓库。
修改地址为:https://maven.aliyun.com/repository/central
最下面保存
最后创建仓库
创建一个仓库xxxx,类型为maven2(hosted)
策略policy为release,发布策略为Allow redeploy
创建用户
选择Users,创建用户,注意为用户选择相应的权限
发布jar包到私服
1、拷贝public仓库地址配置maven settings文件的服务器用户名密码
<servers> <server> <id>xxxx</id> <username>nexus</username> <password>123456</password> </server> </servers>
pom指定地址
<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE --> <!--指定仓库地址 --> <distributionManagement> <repository> <id>xxxx</id> <name>Nexus Release Repository</name> <url>http://xxxxxx:8081/repository/myrepo/</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>
打开终端,输入mvn deploy,即可将我们的jar包发布到maven私服上或者IDEA执行
使用私服jar
<repositories> <repository> <id>xxxx</id> <url>http://ip:8081/repository/xxxx/</url> </repository> </repositories>
你的groupId
<dependency> <groupId>xxxx</groupId> <artifactId>xxxx</artifactId> <version>1.0.0-RELEASE</version> </dependency>