Azure Artifacts 中的 Maven 包入门

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

Maven 包是使用 Apache Maven 生成工具生成的 Java 二进制文件。 使用 Azure Artifacts 源,可以在单个源中存储多个包类型。 然后,可以还原存储的包以生成项目或与团队和客户共享。 Azure Artifacts 源还支持通过上游源从公共库中获取包,例如 Maven Central、Google Maven 库、Gradle 插件和 JitPack。

本文将指导你设置 Maven 项目,将其连接到 Azure Artifacts 源,以及发布和还原 Maven 包。

先决条件

产品 要求
Azure DevOps - 一个 Azure DevOps 组织
- Azure DevOps 项目
- 下载安装 Apache Maven。

创建源

如果你已经有一个数据源,可以跳到下一部分。 否则,请按如下所示创建新的订阅源:

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择 “工件”,然后选择“创建订阅源”

  3. 为源提供 名称 ,选择 可见性 以定义谁可以查看包,然后选择源 范围。 如果要包含来自公共注册表(如 Maven Central 或 Google Maven 存储库)的包,请选中 包含来自常见公共源的包

  4. 完成操作后,选择“创建”

连接到源

有了源后,需要将配置文件设置为使用源进行身份验证,还需要创建个人访问令牌,以便使用 Azure DevOps 进行身份验证。 按照以下步骤完成身份验证并连接到您的信息流:

  1. 生成具有打包>范围的个人访问令牌。 复制 PAT 并将其保存在安全位置,因为后续步骤中需要用到它。

  2. 登录到 Azure DevOps,然后导航到项目。

  3. 选择项目,然后从下拉菜单中选择源。

  4. 选择 “连接到源”,然后从左侧导航窗格中选择 Maven

  5. 如果这是在此计算机上首次将 Azure Artifacts 与 Maven 配合使用,请确保已安装必备组件。

  6. 打开 pom.xml 文件,并在 项目设置 中将提供的代码片段添加到<repositories><distributionManagement> 两个部分中。 pom.xml 应如下所示:

        <repositories>
            <repository>
                <id>FEED_NAME</id>
                <url>https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
                <releases>
                <enabled>true</enabled>
                </releases>
                <snapshots>
                <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <distributionManagement>
            <repository>
                <id>FEED_NAME</id>
                <url>https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
                <releases>
                <enabled>true</enabled>
                </releases>
                <snapshots>
                <enabled>true</enabled>
                </snapshots>
            </repository>
        </distributionManagement>
    
  7. 打开用户级别的 settings.xml 文件,并在 <password> 标签中添加你的 PAT。 此文件应保存在本地,因此请确保不要将此文件提交到源代码中,以免公开凭据。 settings.xml 文件应如下所示:

        <servers>
            <server>
                <id>MavenDemo</id>
                <username><ORGANIZATION_NAME></username>
                <password>[PERSONAL_ACCESS_TOKEN]</password>
            </server>
        </servers>
    

发布包

现在你已经通过了你的源的身份验证,可以开始发布和还原包:

  1. 如果尚未生成包,请打开命令提示符窗口并导航到 pom.xml 文件所在的项目目录,然后运行以下命令来打包项目。 此命令编译代码、运行包含的测试,并将项目打包成可分发格式(如 JAR 文件)。

    mvn package
    
  2. 从项目目录中运行以下命令,将包发布到源:

    mvn deploy
    
  3. 成功发布包后,它将很快在 Azure Artifacts 源流中提供。

    显示部署到源的 Maven 包的屏幕截图。

注意

如果你的组织使用防火墙或代理服务器,请确保允许 Azure Artifacts 域 URL 和 IP 地址

还原包

若要从源恢复包,请在项目目录中运行 mvn install 命令,以安装 pom.xml 文件中列出的所有依赖项。 如果要从源安装的包不在 pom.xml中,下面介绍如何添加它并从源还原:

  1. 登录到 Azure DevOps,然后导航到项目。

  2. 选择项目,然后从下拉菜单中选择源。

  3. 选择要安装的包,导航到 “概述>Maven”,然后复制依赖项代码片段。 它应如下所示:

    <dependency>
      <groupId>MyGroup</groupId>
      <artifactId>MavenQuickStartDemo</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    
  4. 打开pom.xml文件,并将代码片段粘贴到标记中<dependencies>

  5. 从pom.xml文件所在的目录中运行以下命令以还原包:

    mvn install