将 Maven 项目连接到 Azure Artifacts 源

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

使用 Azure Artifacts,可以从源和公共注册表无缝发布和还原 Maven 包。 Azure Artifacts 支持从 Maven Central、Google Maven 存储库、Gradle 插件和 JitPack 上游。 本指南将指导你完成设置 Maven 项目并连接到 Azure Artifacts 源的过程。

先决条件

项目设置

  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>
    

注意

settings.xml如果文件在团队中共享,则可以使用 Maven 加密密码