Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
借助 Azure Artifacts,开发人员可以启用上游源来使用来自不同公共注册表(如 Google Maven 存储库)的包。 启用后,Azure Artifacts 将自动保存从上游安装的任何包的副本。 此外,Azure Artifacts 还支持其他 Maven 上游源,例如 Maven Central、Gradle 插件和 JitPack。 本文将指导如何进行以下操作:
- 将 Google Maven 存储库添加为上游源
- 获取来自上游的包
- 在源中查找已保存的包
先决条件
启用上游源
如果还没有源,请按照下面的说明创建新源,并确保选中上游源复选框以启用它们。 如果已有源,请跳转到下一步,将 Google Maven 存储库添加为上游源:
登录到 Azure DevOps 组织,并导航到你的项目。
选择“项目”,然后选择“创建源”。
为您的源提供 名称,选择 可见性 选项来确定谁可以查看您的包。若要包括来自常见公共源(如 nuget.org 或 npmjs.com)的包,请勾选“包括公共源中的包”。关于 范围,请决定该源是否仅限于您的项目或整个组织。
完成操作后,选择“创建”。
登录到你的 Azure DevOps 服务器,然后转到你的项目。
选择“项目”,然后选择“创建源”。
为您的源提供 名称,选择 可见性 选项来确定谁可以查看您的包。若要包括来自常见公共源(如 nuget.org 或 npmjs.com)的包,请勾选“包括公共源中的包”。关于 范围,请决定该源是否仅限于您的项目或整个组织。
完成操作后,选择“创建”。
完成操作后,选择“创建”。
注意
默认情况下,当创建新提要时,项目中的生成服务(例如:projectName Build Service (orgName))将被分配提要和上游阅读者(协作者)角色。
添加 Google Maven 存储库上游
如果在创建源时选中了上游源复选框,则 Google Maven 存储库应已添加为上游源。 如果没有,可以手动添加,步骤如下:
登录到 Azure DevOps 组织,并导航到你的项目。
选择工件,然后选择右上角的齿轮图标
,以导航到源设置。
选择上游源,然后选择添加上游。
选择公共源,然后从下拉菜单中选择 Google Maven 存储库 (https://maven.google.com/web/index.html)。
完成后,选择添加,然后在右上角再次选择保存以保存更改。
注意
Maven 上游源不支持 Maven 快照。
保存来自 Google Maven 存储库的包
在保存来自 Google Maven 存储库的包之前,请确保已将项目设置为连接到源。 如果尚未这样做,请按照项目设置中的说明设置 Maven 项目并连接到源。 以下示例演示如何从 Google Maven 存储库保存 Zipflinger 库。
要改用 Azure Pipelines 来保存/还原包,请按使用 Azure Pipelines 还原 Maven 包(YAML/经典)教程中的步骤操作。
导航到
https://mvnrepository.com/
上的 Google Maven 存储库。搜索 Zipflinger 库。 选择 Zipflinger 包,然后选择要安装的版本。
从
<dependency>
选项卡复制 片段。<dependency> <groupId>com.android</groupId> <artifactId>zipflinger</artifactId> <version>8.3.0-alpha13</version> </dependency>
打开 pom.xml 文件,并将片段粘贴到
<dependencies>
标记中,然后保存文件。从 pom.xml 文件所在的同一路径运行以下命令以安装依赖项:
mvn install
注意
要从上游保存包,必须拥有订阅和上游阅读者(协作者)的角色或更高权限的角色。 有关更多详细信息,请参阅管理权限。
查看保存的包
若要查看从上游安装的包,请从下拉菜单中选择 Google Maven 存储库源。
登录到 Azure DevOps 组织,并导航到你的项目。
选择“ 项目”,然后从下拉菜单中选择源。
从下拉菜单中选择 Google Maven 存储库源,从此上游查找包。
在上一步中保存的 Zipflinger 包现在在我们的源中可用,因为执行 mvn install 命令时,Azure Artifacts 会自动保存副本。
提示
如果 Maven 未下载所有依赖项,请从项目目录运行以下命令,以重新生成项目的文件:mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true