Azure DevOps 服务 |Azure DevOps Server |Azure DevOps Server 2022
借助 Azure Artifacts,开发人员可以启用上游源来使用来自公共注册表(如 Google Maven 存储库)的包。 启用上游源后,Azure Artifacts 会自动保存具有源和上游读取者(参与者)或更高权限的用户安装到源中的任何包的副本。 Azure Artifacts还支持其他 Maven 上游源,包括 Maven Central、Gradle 插件和 JitPack。
先决条件
| 产品 | 要求 |
|---|---|
| Azure DevOps | - Azure DevOps 组织化。 - Azure DevOps project。 |
创建信息流
如果你已拥有 Azure Artifacts 源,请跳到下一节。 否则,请按照以下步骤新建一个:
登录到Azure DevOps并导航到项目。
选择“工件”,然后选择“创建源”。
输入订阅名称,设置可见性来控制谁能查看包,然后选择订阅范围。 选择“包含来自常见公共源的包”以启用上游源并允许从公共注册表使用包。
选择“创建”以完成操作。
添加 Google Maven 存储库上游源
如果你在创建源时选择了“包含来自常见公共源的包”,那么 Google Maven 存储库应该已经添加为上游源。 如果没有,可以按照以下步骤手动添加它:
登录到Azure DevOps组织并导航到项目。
选择工件,然后选择右上角的
以打开“提要设置”。选择 上游源,然后选择“ 添加上游”。
选择“公共源”,然后选择“Google Maven 存储库”(https://maven.google.com/web/index.html)。
选择 “添加”,然后选择右上角的 “保存 ”以保存更改。
保存来自 Google Maven 存储库的包
在开始之前,请确保 Maven 项目已配置为连接到 Azure Artifacts 源。 如果尚未执行此操作,请按照项目设置中的说明设置 Maven 项目并通过你的源进行身份验证。
以下示例演示如何从 Google Maven 存储库安装开源标识框架 Multipaz。
导航到 Google Maven 存储库
https://maven.google.com。搜索 Multipaz 包: org.multipaz,然后选择要使用的包和版本。
复制包的 组 ID、 项目 ID 和 版本 值。
将以下代码片段中的占位符替换为刚刚复制的值:
<dependency> <groupId>GROUP_ID</groupId> <artifactId>ARTIFACT_ID</artifactId> <version>VERSION</version> </dependency>打开 pom.xml 文件,将依赖项代码片段粘贴到
<dependencies>分区中,然后保存文件。从 pom.xml 文件所在的同一路径运行以下命令以安装依赖项:
mvn install
命令完成后,Maven 会通过 Azure Artifacts 源来解析依赖项。 如果数据源中尚不存在包,Azure Artifacts 会从 Google Maven 存储库中检索包并存储一份副本。 后续安装将包直接从 Azure Artifacts 而不是公共注册表下载。
注意
你必须具有源和上游读取者(参与者)角色或更高权限才能保存来自上游的包。 有关更多详细信息,请参阅 源角色和权限 。
查看保存的包
从上游源安装包后,您可以确认 Azure Artifacts 将副本保存到您的 feed 中:
登录到Azure DevOps并导航到项目。
选择项目,然后从下拉菜单中选择源。
从“ 源 ”下拉菜单中,选择 Google Maven 存储库 以查看从此上游保存的包。
你在上一节中安装的 Multipaz 包现在即可在你的源中使用。 运行 mvn install 命令时,Azure Artifacts自动保存副本。
提示
如果 Maven 未下载所有依赖项,请从项目目录运行以下命令以重新生成项目文件并下载源和 Javadocs: mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true