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-nexusspring-milestonespring-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 信息

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值