写点什么

自动搭建 Maven 私有仓库,不限容量、免费用

作者:阿里云云效
  • 2022 年 4 月 06 日
  • 本文字数:2038 字

    阅读完需:约 7 分钟

自动搭建Maven私有仓库,不限容量、免费用

自动搭建 Maven 私有仓库,不限容量、免费用。云效制品仓库 Packages 提供 maven 私有仓库、npm 私有仓库、通用制品仓库等企业级私有制品仓库,用于 maven、npm 等软件包和依赖管理。不限容量、免费用。


立即体验


制品管理


仓库


云效 Packages 为您自动创建了两个 Maven 仓库,一个 release 库和一个 snapshot 库。


图1.Maven 仓库列表


进入仓库后,可以通过仓库指南完成 仓库凭证设置、制品文件的上传和下载、私有库迁移。


图2.Maven 仓库指南


点击查看凭证,可查看您仓库的个人凭证。


包管理


包列表下展示仓库下所有二进制包文件,支持通过 Group Id 和 Artifacts Id 进行包文件搜索。


图3.Maven 包列表

点击包文件展示包文件信息,默认展示最新版本信息,点击可切换版本。

图4.Maven 包详情

仓库设置

基本信息

基本信息可设置仓库的公开性、仓库描述。

图1.基本信息


仓库公开性、成员角色、权限之间的关系可查看:仓库成员权限一节


代理设置


支持设置仓库代理,这样云效私库既具备上传下载包的能力,又具备代理其他仓库的能力。当使用云效私库下载包时,它也会尝试从远程仓库拉取包,并且缓存在云效私库。


你可以直接代理阿里云的公共代理库,也可设置代理您的私有仓库。


图2.代理设置

仓库成员权限


仓库成员


可将云效企业内的成员添加为仓库成员,可将仓库成员设置为管理员和成员角色。


图1.成员设置

角色权限


默认企业拥有者为仓库拥有者,其他企业成员需要在仓库中设置成员和角色。仓库公开性、成员角色之间的关系如下:

本地下载指南


本地下载制品文件失败排查


  1. 访问https://packages.aliyun.com/,制品搜索中搜索依赖包,如果不存在,请上传到私有仓库中;如果已经存在,操作下一步。

  2. https://packages.aliyun.com/下载 settings.xml,本地使用这份下载到的 settings 文件。


默认的这份 settings 中的配置是 snapshot 的依赖从 snapshot 的仓中下载,release 版本的依赖从 release 仓中下载,如果依赖传错了仓库,请修改默认的 settings 文件配置或者重新上传依赖。


或者本地工具配置中使用的 User settings file 为云效私服中下载的原 setting 文件。


  1. 在本机新建一个空的目录,比如/tmp/repo,然后在代码根目录下运行 mvn clean install -s settings.xml -U -DskipTests -Dmaven.repo.local=/tmp/repo,查看构建是否成功。

注意: -s 参数后为下载的 settings.xml 的文件路径。如果本地执行这个命令还不行,则参考 4

  1. 为了确保本地 settings.xml 配置正确,请在本地运行 mvn help:effective-settings ,通过日志查看私库地址是否已经配置进去

  2. 本地 maven 版本最好使用 3.5.5 及以上

  3. 若以上信息均无误,请操作下载代码,查看具体报错信息,且将该信息提供出来。


将已有私库同步云效


本文档帮助您将已有 Maven 私库中的制品包批量迁移到云效的 Maven 私库中。


您可以在云效私有仓库管理界面,获取到详细的本地仓库迁移操作说明,如下图所示:

操作步骤:


1.下载迁移工具 migrate-local-repo-tool.jar


2.在您本地运行该迁移工具,(请首先确保您的 JDK 版本为 1.8 及以上)。运行命令如下:

java-jar migrate-local-repo-tool.jar-cd "/$HOME/.m2/repository/"-t "http://10.21.11.11/repository/releases/"-u admin-p admin123


参数注解:

-cd 您要迁移的本地目录,例如:/$HOME/.m2/repository/-t 目标仓库地址(您可以在【私有仓库】界面点击仓库地址,获取您的目标仓库地址)-u 用户名-p 密码

注:用户名和密码为您要上传的目标仓库用户名及密码,您可在 setting.xml 中获取对应仓库的 username 和 password

根据您的实际需求指定合适的参数,然后执行该命令,稍等片刻,您的本地仓库中的 a 制品将会被批量迁移到云效中您所指定的 Maven 私库中。


如果迁移的本地目录中文件目录过多或者目录层级过深,可能会导致迁移命令卡死或者返回异常。推荐做法是只迁移你自己的私有制品到私有仓库中,构建时拉取公共制品包可以使用我们提供的公共代理库。比如假设你的私有制品都放置在/$HOME/.m2/repository/com/alibaba/目录中,你可以将 com/alibaba//目录复制一份到一个空的目录中,比如复制到/tmp/repo/中中,然后运行迁移命令时将-cd 命令参数指定为/tmp/repo/,这样迁移工具只会迁移你的私有制品。


添加现有的私库作为云效私库的远程仓库


云效提供了关联其他仓库为远程仓库的功能。这样云效私库既具备上传下载包的能力,又具备代理其他仓库的能力。当使用云效私库下载包时,它也会尝试从远程仓库拉取包,并且缓存在云效私库。


远程仓库地址为您想要代理的私库地址,这个地址必须是公网可以访问的。如果该私库可以匿名访问,那么无需配置访问账号和密码。点击关联仓库可以保存配置。您随后可以修改配置或者解除关联。注意只有已经缓存在云效私库的制品包才能被搜索到。注意:如果远程仓库的网络环境不佳会导致拖慢云效私库的下载速度。


云效制品仓库 Packages 提供 maven 私有仓库、npm 私有仓库、通用制品仓库等企业级私有制品仓库,用于 maven、npm 等软件包和依赖管理。不限容量、免费用


立即体验

关于我们


更多关于云效 DevOps 的知识及内容,可微信搜索关注【云效】公众号


彩蛋:公众号后台回复【指南】,可获得《阿里巴巴 DevOps 实践指南》&《10 倍研发效能提升案例集》~


看完觉得对您有所帮助别忘记点赞、收藏和关注呦

发布于: 刚刚阅读数: 2
用户头像

云效,云原生时代一站式BizDevOps平台 2021.11.05 加入

云效,云原生时代一站式BizDevOps平台,支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现 10 倍效能提升

评论

发布
暂无评论
自动搭建Maven私有仓库,不限容量、免费用_maven_阿里云云效_InfoQ写作平台