头图

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

云效DevOps平台

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

立即体验

制品管理

仓库

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

image.png
图1.Maven 仓库列表

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

image.png

图2.Maven 仓库指南

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

包管理

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

image.png

图3.Maven 包列表

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

image.png

图4.Maven 包详情

仓库设置

基本信息

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

image.png
图1.基本信息

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

代理设置

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

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

image.png

图2.代理设置

仓库成员权限

仓库成员

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

image.png

图1.成员设置

角色权限

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

image.png

本地下载指南

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

  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 私库中。

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

image.png

操作步骤:

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/,这样迁移工具只会迁移你的私有制品。

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

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

image.png

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

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

立即体验

关于我们

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

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

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

阅读 1.5k

阿里云云效,[链接]体验云原生时代新DevOps平台,支持公共云、专有云和混合云多种部署形态,通过云原生...

35 声望
19 粉丝
0 条评论

阿里云云效,[链接]体验云原生时代新DevOps平台,支持公共云、专有云和混合云多种部署形态,通过云原生...

35 声望
19 粉丝
文章目录
宣传栏