栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

DockerCompose - 部署 Nexus 私服

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DockerCompose - 部署 Nexus 私服

这里只是记录一下服务端的搭建及配置过程,客户端需要单独配置 maven 的 setting.xml 文件:Maven - 客户端 Nexus 配置

什么是 Nexus

Nexus 是一个强大的 Maven 私服仓库。现在已经不仅仅是 Maven 私服了,同时支持 docker、apt、bower、conda、go、helm、npm、pypi、yum 等依赖管理

为什么需要 Nexus
  1. 比如在内网环境中开发,或者网速比较慢的情况下,我们拉取项目依赖可以从私服拉取,私服去中央仓库拉取。当拉取依赖时,如果私服中没有,再去中央仓库中找,不需要每个开发人员都去中央仓库下载,只需要私服下载一次即可。
  2. 在项目多人协同开发中,比如我们开发了一个公共的工具类 jar 包,在多个项目组中都可以引用,我们又不希望把这个 jar 包推送到公共的 maven 仓库中,此时就需要私服来存储、分发我们的私有 jar 包。
部署 Nexus

Docker Hub 仓库

version: "3.9"
services:
  nexus:
    image: sonatype/nexus3:latest
    container_name: nexus
    restart: always
    volumes:
      # 自定义数据卷位置为当前目录下的 data 目录
      - ./data:/nexus-data
    ports:
      - "8081:8081"

注意: 启动时如果出现权限问题,可以使用 chmod 777 /usr/local/docker/nexus/data 赋予数据卷可读写权限

仓库介绍 代理仓库(proxy)
  • 代理第三方仓库
    • maven-central
    • nuget.org-proxy
  • 版本策略
    • Release:正式版本
    • Snapshot:快照版本
    • Mixed:混合模式
  • 布局策略
    • strict:严格
    • Permissive:宽松
宿主仓库(hosted)
  • 存储本地上传的组件和资源
    • maven-release
    • maven-snapshot
    • nuget-hosted
  • 部署策略
    • Allow Redeploy:允许重新部署
    • Disable Redeploy:禁止重新部署
    • Read-Only:只读
  • 布局策略
    • strict:严格
    • Permissive:宽松
创建代理仓库

由于我们国内一般使用阿里云代理仓库,而且开发一般都会使用到 spring 框架,所以我们需要配置三个代理仓库:aliyun-nexus、spring-milestone、spring-snapshot,配置过程如下:


在选择仓库页面选择:maven2(proxy)

  • 配置阿里云仓库代理(版本策略为 Release)
    • Name:aliyun-nexux
    • Version policy:Release
    • Remote storage:http://maven.aliyun.com/nexus/content/groups/public

  • 配置 spring 的 Release 仓库
    • Name:spring-milestone
    • Version policy:Release
    • Remote storage:https://repo.spring.io/milestone
  • 配置 spring 的 Snapshot 仓库
    • Name:spring-snapshot
    • Version policy:Snapshot
    • Remote storage:https://repo.spring.io/snapshot
配置分组仓库

通过配置 maven-public 分组仓库将上面几个代理仓库统一为一个仓库入口,同时调整顺序:

配置定时任务

这里我们配置一个自动删除快照版本的定时任务:


配置任务详情:

手动上传依赖

非开源项目可能没办法从中央仓库拉取项目,这时我们可以手动上传。
建议把第三方 jar 包单独归类于一个仓库中,便于维护和管理(maven-3rd)。

1、创建仓库 maven-3rd


2、选择上传仓库 maven-3rd

3、选择 jar 包、并填写 GAV 等信息


4、上传完成即可在仓库 maven-3rd 中看到对应的 jar 信息

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/996608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号