目录一、Nexus Repository Manager推荐方案1. 手动解压安装部署2. 使用Docker快速部署3. 初始配置4、创建Maven仓库5、Maven集成配置6、部署与验证二、Apache Archiva轻量级方案1. 手动安装2. 访问管理界面3. Maven集成三、手动搭建Nginx文件系统1. 创建本地仓库目录2. Nginx配置3. Maven配置四、三种方案对比一、Nexus Repository Manager推荐方案[]https://help.sonatype.com/en/download.html下载 []https://help.sonatype.com/en/download.html1. 手动解压安装部署1).解压tar xvzf nexus-3.90.1-01-linux-x86_64.tar.gz2).解压后会有2个文件nexus-3.90.1-01 sonatype-work3).运行 Nexus Repository# 启动 Nexus Repository日志信息会被输出到日志文件中 ./nexus start # 关闭 Nexus ./nexus stop # 在当前终端中显示日志信息以便通过“run”命令进行测试 ./nexus run # 重启 ./nexus restart # 查看状态 ./nexus status # 重装 ./nexus force-reload2. 使用Docker快速部署# 拉取Nexus3镜像 docker pull sonatype/nexus3 # 启动容器端口映射为8081 docker run -d -p 8081:8081 --name nexus sonatype/nexus3 # 查看启动日志 docker logs -f nexus3. 初始配置访问管理界面打开浏览器访问 http://localhost:8081点击右上角 Sign in。获取默认密码docker exec -it nexus sh cat /nexus-data/admin.password输入密码后按提示修改为自定义密码。4、创建Maven仓库点击 Settings → Repositories → Create Repository。选择 Maven2 (hosted) 类型配置Name: maven-releases发布库或 maven-snapshots快照库Version Policy: Release 或 SnapshotDeployment Policy: Allow Redeploy允许重复部署5、Maven集成配置修改 settings.xml全局配置settings servers server idnexus/id usernameadmin/username password自定义密码/password /server /servers mirrors mirror idnexus/id mirrorOf*/mirrorOf urlhttp://localhost:8081/repository/maven-public//url /mirror /mirrors /settings项目 pom.xml 配置发布到NexusdistributionManagement repository idnexus/id urlhttp://localhost:8081/repository/maven-releases//url /repository snapshotRepository idnexus/id urlhttp://localhost:8081/repository/maven-snapshots//url /snapshotRepository /distributionManagement6、部署与验证部署构件到Nexusmvn clean deploy验证仓库内容访问 http://localhost:8081/#browse/browse:maven-public确认构件已上传二、Apache Archiva轻量级方案1. 手动安装# 下载Archiva ## https://mirrors.tuna.tsinghua.edu.cn/apache/archiva wget https://archive.apache.org/dist/archiva/2.2.9/binaries/apache-archiva-2.2.9-bin.zip unzip archiva-2.2.10-standalone.zip cd archiva-2.2.10/bin # 启动服务调试模式 ./archiva-debug.sh run2. 访问管理界面打开 http://localhost:8080/archiva默认账号 admin/admin。创建Maven仓库hosted类型配置代理仓库如阿里云Maven中央仓库。3. Maven集成修改 settings.xmlmirrors mirror idarchiva/id urlhttp://localhost:8080/repository/internal//url mirrorOf*/mirrorOf /mirror /mirrors三、手动搭建Nginx文件系统1. 创建本地仓库目录mkdir -p /opt/maven-repo chmod -R 755 /opt/maven-repo2. Nginx配置server { listen 80; server_name localhost; location / { root /opt/maven-repo; autoindex on; # 启用目录列表 } }3. Maven配置修改 settings.xmlsettings localRepository/opt/maven-repo/localRepository mirrors mirror idlocal-repo/id urlhttp://localhost//url mirrorOf*/mirrorOf /mirror /mirrors /settings 或 settings !-- mirror idmaven-default-http-blocker/id mirrorOfexternal:http:*/mirrorOf namePseudo repository to mirror external repositories initially using HTTP./name urlhttp://0.0.0.0//url blockedfalse/blocked /mirror -- mirror idall-http-mirror/id nameAll HTTP Repository Mirror/name urlhttp://192.168.56.50/remoteRepo//url mirrorOfexternal:http:*/mirrorOf !--mirrorOfnginx-private-repo/mirrorOf-- !-- 允许http协议 -- blockedfalse/blocked /mirror profiles profile idallow-http/id repositories repository idnginx-private-repo-http/id urlhttp://192.168.56.50/remoteRepo//url releases enabledtrue/enabled /releases snapshots enabledtrue/enabled /snapshots /repository /repositories /profile /profiles activeProfiles activeProfileallow-http/activeProfile /activeProfiles /settings四、三种方案对比
Maven仓库服务搭建几种方式
目录一、Nexus Repository Manager推荐方案1. 手动解压安装部署2. 使用Docker快速部署3. 初始配置4、创建Maven仓库5、Maven集成配置6、部署与验证二、Apache Archiva轻量级方案1. 手动安装2. 访问管理界面3. Maven集成三、手动搭建Nginx文件系统1. 创建本地仓库目录2. Nginx配置3. Maven配置四、三种方案对比一、Nexus Repository Manager推荐方案[]https://help.sonatype.com/en/download.html下载 []https://help.sonatype.com/en/download.html1. 手动解压安装部署1).解压tar xvzf nexus-3.90.1-01-linux-x86_64.tar.gz2).解压后会有2个文件nexus-3.90.1-01 sonatype-work3).运行 Nexus Repository# 启动 Nexus Repository日志信息会被输出到日志文件中 ./nexus start # 关闭 Nexus ./nexus stop # 在当前终端中显示日志信息以便通过“run”命令进行测试 ./nexus run # 重启 ./nexus restart # 查看状态 ./nexus status # 重装 ./nexus force-reload2. 使用Docker快速部署# 拉取Nexus3镜像 docker pull sonatype/nexus3 # 启动容器端口映射为8081 docker run -d -p 8081:8081 --name nexus sonatype/nexus3 # 查看启动日志 docker logs -f nexus3. 初始配置访问管理界面打开浏览器访问 http://localhost:8081点击右上角 Sign in。获取默认密码docker exec -it nexus sh cat /nexus-data/admin.password输入密码后按提示修改为自定义密码。4、创建Maven仓库点击 Settings → Repositories → Create Repository。选择 Maven2 (hosted) 类型配置Name: maven-releases发布库或 maven-snapshots快照库Version Policy: Release 或 SnapshotDeployment Policy: Allow Redeploy允许重复部署5、Maven集成配置修改 settings.xml全局配置settings servers server idnexus/id usernameadmin/username password自定义密码/password /server /servers mirrors mirror idnexus/id mirrorOf*/mirrorOf urlhttp://localhost:8081/repository/maven-public//url /mirror /mirrors /settings项目 pom.xml 配置发布到NexusdistributionManagement repository idnexus/id urlhttp://localhost:8081/repository/maven-releases//url /repository snapshotRepository idnexus/id urlhttp://localhost:8081/repository/maven-snapshots//url /snapshotRepository /distributionManagement6、部署与验证部署构件到Nexusmvn clean deploy验证仓库内容访问 http://localhost:8081/#browse/browse:maven-public确认构件已上传二、Apache Archiva轻量级方案1. 手动安装# 下载Archiva ## https://mirrors.tuna.tsinghua.edu.cn/apache/archiva wget https://archive.apache.org/dist/archiva/2.2.9/binaries/apache-archiva-2.2.9-bin.zip unzip archiva-2.2.10-standalone.zip cd archiva-2.2.10/bin # 启动服务调试模式 ./archiva-debug.sh run2. 访问管理界面打开 http://localhost:8080/archiva默认账号 admin/admin。创建Maven仓库hosted类型配置代理仓库如阿里云Maven中央仓库。3. Maven集成修改 settings.xmlmirrors mirror idarchiva/id urlhttp://localhost:8080/repository/internal//url mirrorOf*/mirrorOf /mirror /mirrors三、手动搭建Nginx文件系统1. 创建本地仓库目录mkdir -p /opt/maven-repo chmod -R 755 /opt/maven-repo2. Nginx配置server { listen 80; server_name localhost; location / { root /opt/maven-repo; autoindex on; # 启用目录列表 } }3. Maven配置修改 settings.xmlsettings localRepository/opt/maven-repo/localRepository mirrors mirror idlocal-repo/id urlhttp://localhost//url mirrorOf*/mirrorOf /mirror /mirrors /settings 或 settings !-- mirror idmaven-default-http-blocker/id mirrorOfexternal:http:*/mirrorOf namePseudo repository to mirror external repositories initially using HTTP./name urlhttp://0.0.0.0//url blockedfalse/blocked /mirror -- mirror idall-http-mirror/id nameAll HTTP Repository Mirror/name urlhttp://192.168.56.50/remoteRepo//url mirrorOfexternal:http:*/mirrorOf !--mirrorOfnginx-private-repo/mirrorOf-- !-- 允许http协议 -- blockedfalse/blocked /mirror profiles profile idallow-http/id repositories repository idnginx-private-repo-http/id urlhttp://192.168.56.50/remoteRepo//url releases enabledtrue/enabled /releases snapshots enabledtrue/enabled /snapshots /repository /repositories /profile /profiles activeProfiles activeProfileallow-http/activeProfile /activeProfiles /settings四、三种方案对比