新功能企业级Maven私有仓库服务开放公测
Posted 云效
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新功能企业级Maven私有仓库服务开放公测相关的知识,希望对你有一定的参考价值。
备注:Work Like Alibaba-阿里巴巴第二届研发效能嘉年华直播素材和干货已经陆续出炉,立即关注微信,回复“嘉年华”查看视频、文章及PPT。
目前云效上线了企业级Maven私有仓库服务。用户可以一键开通Maven私有仓库服务,零配置实现私有二方库的上传和下载。
企业级Maven私有仓库核心功能点
1. 一键开通,自动生成release和snapshot两个仓库;
2. 高效上传和下载,后端存储使用阿里云OSS服务,二方库永不丢失;
3. 与云效构建高度集成,无需额外配置即可与私库打通。
那让我们一起感受下如何配置私有仓库服务
将私有仓库服务加入侧边栏
当启用了私有仓库服务以后,点击‘我的’链接,选择左侧菜单栏中的‘设置’按钮,将‘私有仓库’服务加入到左侧菜单栏中。
这样在左侧菜单栏会看到‘私有仓库’链接。
开通仓库
虽然启用了私有仓库服务,当云效并没有真正的为您创建企业级Maven私有仓库。点击左侧菜单栏’私有仓库’链接后,如果您是企业管理员,会出现以下界面:
‘点击开通’即可开通仓库服务。
企业的普通用户并没有开通仓库的权限,则需要联系您的企业管理员进行开通操作。
开通成功以后显示界面如下:
仓库地址
云效会自动为该企业生成两个Maven私库,一个是Release仓库,用于存储正式版本的二方库;另一个是Snapshot仓库,用于存放Snapshot版本的二方库。
settings.xml配置
私有仓库不允许匿名上传和下载二方库,云效为每个私有仓库生成了相应的用户名和密码。请注意不要泄露该用户名和密码。
上传二方库
用户可以通过UI上传二方库。目前支持通过GAV的模式进行上传,单个二方库的大小限制为300M。
检索
对二方库的检索支持关键字搜索和GAV搜索两种模式。
用户可以查看检索出来的二方库的基本信息,也可以下载二方库。
用户可以查看在云效构建中使用Maven私有仓库服务了解更多内容。
在云效构建中如何使用Maven私有仓库服务?
当用户开通了Maven私有仓库服务后,云效会为用户生成两个私有仓库,一个用于存放release版本的二方库,一个用于存储SNAPSHOT版本的二方库。
https://repo.rdc.aliyun.com/repository/24409-release-87w1FL/
https://repo.rdc.aliyun.com/repository/24409-snapshot-AA0Hx0/
云效构建时从私有仓库下载二方库
如果用户项目代码库的根目录定制了Maven的settings.xml文件,那么用户需要自行将私有仓库的配置信息添加到该文件中。具体可以参考Maven私有仓库服务。
通过云效上传二方库到私有仓库
<distributionManagement>
<repository>
<id>releases</id>
<url>http://repo.rdc.aliyun.com/repository/24409-release-87w1FL/</url>
</repository>
</distributionManagement>
项目代码库根目录的<应用名>.release
中指定构建命令为上传二方库,例如:
build.command=mvn clean deploy -Dmaven.test.skip
然后在云效中创建一条流水线,创建一个构建任务。示例配置如下:
build.command=mvn -DaltDeploymentRepository=rdc-releases::default::https://repo.rdc.aliyun.com/repository/24409-release-87w1FL/ deploy -Dmaven.test.skip
altDeploymentRepository指定了id::layout::url
。在云效的Maven私有仓库服务中release仓库的id为rdc-releases
。SNAPSHOT仓库的id为rdc-snapshots
。layout一般使用默认值default,而url则为release仓库或SNAPSHOT仓库的url。上传到SNAPSHOT仓库的示例命令如下:
build.command=mvn -DaltDeploymentRepository=rdc-snapshots::default::https://repo.rdc.aliyun.com/repository/24409-snapshot-AA0Hx0/ deploy -Dmaven.test.skip
单应用同时支持应用构建和二方库发布
如果一个项目既要实现打包和部署,又要为其他项目提供SDK二方库,那么单个build.command
配置就无法满足这种场景。您可以使用传入参数改变构建行为中的方式,使用PACKAGE_LABEL
区分不同的构建命令。一个完整的例子如下。
在代码库根目录的<应用名>.release
文件中指定如下配置项:
deploy.build.command=mvn -DaltDeploymentRepository=rdc-releases::default::https://repo.rdc.aliyun.com/repository/24409-release-87w1FL/ deploy -Dmaven.test.skip
这个配置项使用前缀deploy
作为包标签。然后创建一条流水线,在构建任务中打开高级配置项,进行如下配置:
与上一个构建任务唯一不同的是这里将高级配置中的包标签的值改为deploy
,这样触发构建时执行的就是deploy.build.command
中指定的命令。
注意:目前该功能还处于公测阶段,想要使用该功能用户请通过云效页面右下角的‘提问’按钮联系云效工作人员开通。
如有疑问,钉钉联系云效技术支持同事
备注:云效第二届研发效能嘉年华直播素材和干货已经陆续出炉,立即关注微信,回复“嘉年华”查看视频、文章及PPT。
- MORE | 更多精彩文章 -
以上是关于新功能企业级Maven私有仓库服务开放公测的主要内容,如果未能解决你的问题,请参考以下文章