【新功能】企业级Maven私有仓库服务结束公测,全面开放使用

  1. 云栖社区>
  2. 博客列表>
  3. 正文

【新功能】企业级Maven私有仓库服务结束公测,全面开放使用

无敌西瓜 2018-06-01 15:08:19 浏览2502 评论3

摘要: 目前云效上线了企业级Maven私有仓库服务。用户可以一键开通Maven私有仓库服务,零配置实现私有二方库的上传和下载。

经过半个月的公测,云效中的企业级Maven私有仓库服务正式上线,全面开放使用。用户可以一键开通Maven私有仓库服务,零配置实现私有二方库的上传和下载。

企业级Maven私有仓库核心功能点

  1. 一键开通,自动生成release和snapshot两个仓库;
  2. 高效上传和下载,后端存储使用阿里云OSS服务,二方库永不丢失;
  3. 与云效构建高度集成,无需额外配置即可与私库打通。

以下是使用说明。

将私有仓库服务加入侧边栏

点击‘我的’链接,选择左侧菜单栏中的‘设置’按钮,将‘私有仓库’服务加入到左侧菜单栏中。

开通服务

这样在左侧菜单栏会看到‘私有仓库’链接。

左侧菜单栏

开通仓库

虽然启用了私有仓库服务,当云效并没有真正的为您创建企业级Maven私有仓库。点击左侧菜单栏'私有仓库'链接后,如果您是企业管理员,会出现以下界面:

点击开通

'点击开通'即可开通仓库服务。

企业的普通用户并没有开通仓库的权限,则需要联系您的企业管理员进行开通操作。

开通成功以后显示界面如下:

仓库首页

仓库地址

云效会自动为该企业生成两个Maven私库,一个是Release仓库,用于存储正式版本的二方库;另一个是Snapshot仓库,用于存放Snapshot版本的二方库。

仓库地址

settings.xml配置

私有仓库不允许匿名上传和下载二方库,云效为每个私有仓库生成了相应的用户名和密码。请注意不要泄露该用户名和密码。

配置信息

用户可以通过该页面下载完整的settings.xml文件,也可以根据自己的需求在settings.xml文件中添加公共仓库的镜像地址。

上传二方库

用户可以通过UI上传二方库。目前支持通过GAV的模式进行上传,单个二方库的大小限制为300M。

上传二方库

检索

对二方库的检索支持关键字搜索和GAV搜索两种模式。

检索

用户可以查看检索出来的二方库的基本信息,也可以下载二方库。

详细信息

云效构建时从私有仓库下载二方库

如果用户项目代码库的根目录没有Maven的settings.xml文件,那么云效构建时会为用户自动生成一个settings.xml文件。该文件不仅包括了maven.aliyun.com等公共仓库地址,也自动引入了该企业的两个私有仓库地址。所以用户通过云效构建时,无需任何额外配置就可以实现下载私有仓库中的二方库。

如果用户项目代码库的根目录定制了Maven的settings.xml文件,那么用户需要自行将私有仓库的配置信息添加到该文件中。具体可以参考Maven私有仓库服务

通过云效上传二方库到私有仓库

如果想通过流水线发布二方库到私有仓库,可以先在项目代码库根目录的pom.xml中指定分发的仓库地址,示例如下:

<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

然后在云效中创建一条流水线,创建一个构建任务。示例配置如下:

构建任务

也可以在构建命令中指定分发的仓库地址。方式是在Maven命令中指定-DaltDeploymentRepository参数。

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中指定的命令。


任何相关技术问题可以钉钉扫描下面的二维码联系云效的技术支持同学。

_2018_05_24_11_52_00

【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论

1F
美萌软件
  1. 传错了包 没有批量删除功能,只能一个文件一个文件删除,文件夹不能删除
    2.读写权限没有分离,密码泄漏出去还不能修改
  2. 官方的迁移工具,无法分辨出SNAPSHOT和RELEASE版,导致批量迁移的时候快照版全传到了release上,还只能一个个删。一些无关紧要的lastupdate文件也都传上去了
无敌西瓜

一下子提了这么多意见,感谢。权限这块接下来会改进。

评论
2F
1484134313585797

私有仓库怎么收费呢?

无敌西瓜

目前整个功能都是免费的,咱没有收费计划

评论
3F
忑啦米

gradle的配置有文档么