访问nexus3官方镜像库,选择需要的版本下载:Docker Nexus
docker pull sonatype/nexus3:3.49.0
创建数据目录并赋权
sudo mkdir /nexus-data && sudo chown -R 200 /nexus-data
运行(数据目录选择硬盘大的卷进行挂载)
docker run -d -p 8081:8081 --name nexus --restart=always -v /etc/localtime:/etc/localtime:ro -v /nexus-data:/nexus-data sonatype/nexus3:3.49.0
访问:http://127.0.0.1:8081/
默认管理员登录账号密码:admin/yourpasswd
初始访问会要求输入密码,账号是admin,密码在数据目录下:nexus-data/admin.password,输入密码后开始配置,然后会要求输入新的密码。接下来的匿名登录这步根据实际来,方便的情况下允许,需要更新安全则不允许即可。
通过设置-->Roles-->Create Roles创建一个开发者角色,赋予的权限如图所示,如需要其他权限,修改角色权限即可。
默认的管理员和匿名登录角色保留即可。
默认会有一个管理员用户和一个匿名登录用户,我们可以根据实际需要添加开发者用户,对应上面创建的开发者角色。
添加一个阿里的maven2 proxy,直接在repositories列表上点击创建repository,然后选择maven2 proxy。
创建成功后,再次进入修改此代理界面,发现URL显示是我们内网的地址了,也就是我们可以通过http://127.0.0.1:8081/repository/nexus-aliyun/ 这个内网的地址通过maven私服去下载镜像。
阿里maven私服代理地址:http://maven.aliyun.com/nexus/content/groups/public/
参考下图,直接将创建好的代理仓库添加到maven-pulic即可。
配置文件参考如下,注意修改localRepository本地仓库地址。
C:\User\xxx\.m2\repository true false org.mortbay.jetty org.jenkins-ci.tools org.sonatype.plugins maven-releases yourusername yourpasswd maven-snapshots yourusername yourpasswd maven-public maven-public * http://127.0.0.1:8081/repository/maven-public/ nexus false 1.8 central http://127.0.0.1:8081/nexus/content/groups/public/ true true central http://127.0.0.1:8081/nexus/content/groups/public/ true true nexus
配置项目的pom.xml,打包时将jar包上传到私服
org.apache.maven.plugins maven-compiler-plugin 3.8.1 1.8 1.8 UTF-8 true org.apache.maven.plugins maven-deploy-plugin 2.7
配置distributionManagement
maven-releases http://127.0.0.1:8081/repository/maven-releases/ maven-snapshots http://127.0.0.1:8081/repository/maven-snapshots/
默认情况下,对于release版本的项目是不允许重复发布的,为了方便,我们修改配置,允许重复发布。
执行以下指令即可发布到私服
mvn deploy
登录到nexus查看,我们的发布的项目已在私服,这时其他开发人员可以直接从私服更新所需的jar,避免所有开发人员需要所有源码进行本地安装。