Azure Artifacts 中的 Maven 包入门

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts 使开发人员能够从单个源管理其依赖项,同时提供对包共享的控制。 使用 Azure Artifacts 源,可以发布和还原 Maven 包,并设置上游源以使用来自公共注册表(如 Maven Central、Google Maven 存储库、Gradle 插件和 JitPack)的包。 本文将指导你设置 Maven 项目、连接到 Azure Artifacts 源以及发布和还原 Maven 包。

先决条件

创建源

  1. 登录到 Azure DevOps 组织,然后转到项目。

  2. 选择“项目”,然后选择“创建源”

  3. 对于 “名称”,请输入源的描述性名称。

    对于 可见性,请选择一个选项来指示谁可以查看源中的包。

    如果要包含来自公共源的包,请选中上游源下的复选框。

    对于 范围,指定源的范围是项目还是组织。

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

    显示用于在 Azure DevOps Services 中创建新源的选择的屏幕截图。

  1. 登录到 Azure DevOps 服务器,然后转到项目。

  2. 选择“项目”,然后选择“创建源”

  3. 对于 “名称”,请输入源的描述性名称。

    对于 可见性,请选择一个选项来指示谁可以查看源中的包。

    如果要包含来自公共源的包,请选中上游源下的复选框。

    对于 范围,指定源的范围是项目还是组织。

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

    显示用于在 Azure DevOps 2022 中创建新源的选择的屏幕截图。

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

    显示用于在 Azure DevOps 2020 中创建新源的选择的屏幕截图。

  1. 登录到 Azure DevOps 服务器,然后转到项目。

  2. 选择“项目,然后选择“新建源”。

  3. 对于 “名称”,请输入源的描述性名称。

    对于 可见性,请选择一个选项来指示谁可以查看源中的包。

    如果要包含来自公共源的包,请通过此源选项从公共源中选择“使用包”。

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

    显示用于在 Azure DevOps 2019 中创建新源的选择的屏幕截图。

注意

默认情况下,新建的源的“生成服务”值设置为“源”和“上游读取者”(协作者)。

连接到源

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

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

  3. 选择“ 连接到源”,然后从左侧导航区域选择 Maven

  4. 如果这是首次将 Azure Artifacts 与 Maven 配合使用,请确保已安装必备组件。 否则,请选择 “获取右上角的工具 ”以安装它们。

  5. 按照“项目设置”部分中的说明设置pom.xmlsettings.xml文件。 文件应类似于以下示例:

    • pom.xml

        <repositories>
          <repository>
            <id>MavenDemo</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>MavenDemo</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>
      
    • settings.xml:

        <servers>
          <server>
            <id>MavenDemo</id>
            <username><ORGANIZATION_NAME></username>
            <password>[PERSONAL_ACCESS_TOKEN]</password>
          </server>
        </servers>
      
  6. 使用打包>读取和写入范围生成个人访问令牌,然后将其粘贴到标记中。<password>

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

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

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

  4. 如果这是你第一次将 Azure Artifacts 与 Maven 配合使用,请确保已安装必备组件,否则请选择右上角的“ 获取工具 ”进行安装。

  5. 按照“项目设置”部分中的说明设置pom.xmlsettings.xml文件。 文件应类似于以下示例:

    • pom.xml

        <repositories>
          <repository>
            <id>MavenDemo</id>
            <url>http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
          </repository>
        </repositories>
        <distributionManagement>
          <repository>
            <id>MavenDemo</id>
            <url>http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
            <releases>
              <enabled>true</enabled>
            </releases>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
          </repository>
        </distributionManagement>
      
    • settings.xml:

        <servers>
          <server>
            <id>MavenDemo</id>
            <username><COLLECTION_NAME></username>
            <password>[PERSONAL_ACCESS_TOKEN]</password>
          </server>
        </servers>
      
  6. 使用打包>读取和写入范围生成个人访问令牌,然后将其粘贴到标记中。<password>

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

  2. 选择“项目”,然后选择源。

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

  4. 选择“生成 Maven 凭据”,并将凭据添加到标记内的<servers>用户settings.xml文件。 你的文件应如下例所示:

      <servers>
        <server>
          <id>server-2019-defaultcollection-demo</id>
          <username><FEED_NAME></username>
          <password>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</password>
        </server>
      </servers>
    
  5. 将第二个代码片段添加到项目的pom.xml和标记中<repositories><distributionManagement> 你的文件应如下例所示:

      <repositories>
        <repository>
          <id>server-2019-defaultcollection-demo</id>
          <url>http://<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      <distributionManagement>
        <repository>
          <id>server-2019-defaultcollection-demo</id>
          <url>http://<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/maven/v1</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </distributionManagement>
    

发布包

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

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

    mvn deploy
    
  3. 成功部署包后,它很快就会在源中可用。

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

注意

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

还原包

  1. 导航到 Azure DevOps 项目中的项目 ,从下拉菜单中选择源,然后选择要安装的包。

  2. 导航到 “概述>Maven”,然后复制依赖项代码片段。

  3. 打开pom.xml文件,并将代码片段粘贴到标记中<dependencies>

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

    mvn install