使用 kkRepo 搭建 Maven 私服

6 月 25 日
 g632104866

在团队开发中,Maven 私服几乎是 Java 工程的基础设施标配。 kkRepo 是一个开源的自托管制品仓库,支持 Maven 、npm 、PyPI 、Go 、Helm 、Docker/OCI 等多种制品格式。

kkRepo 项目地址

一、快速启动 kkRepo

本地体验可以直接使用官方 quickstart 脚本,它会拉起 kkRepo 和 MySQL:

curl -fsSL https://raw.githubusercontent.com/klboke/kkrepo/main/scripts/quickstart.sh | bash 启动完成后访问:

首次进入管理控制台时,需要创建初始 Local/admin 管理员密码。

二、创建 Maven 仓库

进入 /admin/ 后,建议按 Maven 常见用法创建三类仓库:

创建 maven-central proxy 仓库时,上游地址可以填写 Maven Central 的官方仓库地址:

如果公司已有内网 Maven 镜像,也可以把 proxy 的上游地址替换成内部镜像地址。

创建 maven-public group 仓库时,把下面几个成员仓库加入 group:

这样客户端只需要从 maven-public 一个地址拉依赖:公司内部发布到私服的包会从 maven-releases 或 maven-snapshots 命中,第三方开源依赖会通过 maven-central proxy 回源并缓存。发布时仍然分别写入 maven-releases 或 maven-snapshots 。

1618 次点击
所在节点    Java
6 条回复
jayeli
6 月 25 日
酷,相比 sonatype nexus3 有什么优势?
g632104866
6 月 25 日
@jayeli 问到点上了,kkRepo 就是为了解决 sonatype nexus3 痛点问题而开发开源的,解决的问题包括但不限于:
1 、nexus 内嵌 OrientDB 、ElasticSearch ,进程很重,容易崩溃
2 、nexus 不支持多副本高可用部署
3 、nexus 最新的免费版本限制了维护的包个数,也限制每天的请求量,几乎没法用 。
uiuy
6 月 26 日
挺好的,会持续维护么?后面会不会也收费啊
yidinghe
6 月 26 日
@uiuy 我相信不会,你看看作者的其他项目
g632104866
6 月 26 日
@uiuy 肯定会持续维护的,为什么呢?因为开源的可以对标 Nexus 的制品仓库是个空白,而 Nexus 近一年的免费版本的使用限制不断地在加码,可以预想到后面免费的 Nexus 软件几乎就不可用了。为了这点,kkRepo 也会一直维护下去,解决这些痛点问题。 另外我第一个开源的项目 https://github.com/kekingcn/kkFileView 已经 9 年了,官网 https://kkview.cn/ 可以看到国内大大小小的企业用户至少上千家了,持续在维护且坚持代码 100% 开源。
g632104866
6 月 26 日
@yidinghe 感谢支持

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1222838

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX