使用 Gradle 发布 Maven 项目

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

本文介绍如何使用 Gradle 连接到 Azure Artifacts 源并发布 Maven 项目。

先决条件

  • Azure DevOps 组织。 创建组织(如果还没有)。

  • Azure Artifacts 源。 如果还没有源,请创建一个源。

  • 下载并安装 Gradle

  • 安装 Java SE

项目设置

在设置项目之前,请确保已安装 Gradle 并将 Maven Settings 插件添加到 build.gradle 文件,如下所示:

plugins {
  id "net.linguica.maven-settings" version "0.5"
}

创建个人访问令牌

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

  2. 选择“ 用户设置”,然后选择“ 个人访问令牌”。

    显示如何创建个人访问令牌的屏幕截图

  3. 选择“ 新建令牌”,然后填写必填字段。 请确保选择“打包”>“读取和写入”范围。

  4. 完成后,选择“创建”。 复制令牌并将其保存在安全位置。

    显示如何使用打包读写范围创建新的个人访问令牌的屏幕截图。

配置 build.gradle

  1. 如果项目的根目录中不存在 build.gradle 文件,请创建一个新文件并将其命名为 build.gradle

  2. 将以下部分添加到存储库publishing.repositories 容器中的 build.gradle 文件中。

    maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        authentication {
            basic(BasicAuthentication)
        }
    }
    
  3. 下面是 build.gradle 文件应如下所示的示例:

    publishing { 
        publications { 
            myPublication(MavenPublication) { 
                groupId '<GROUP_ID>' 
                artifactId '<ARTIFACT_ID>' 
                version '<VERSION_NUMBER>'           
                artifact '<PATH_TO_YOUR_JAR_FILE>'   
            } 
        } 
    
        // Repositories to publish artifacts 
        repositories { 
            maven {
                url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'
                name '<FEED_NAME>'
                authentication {
                    basic(BasicAuthentication)
                }
            }
        } 
    } 
    
    // Repositories to fetch dependencies
    repositories { 
            maven {
                url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'
                name '<FEED_NAME>'
                authentication {
                    basic(BasicAuthentication)
                }
            }
    } 
    

配置 settings.xml

  1. 在主目录中打开 settings.xml 文件,并添加以下代码片段。 将占位符替换为之前创建的源名称、组织名称和个人访问令牌。

    <server>
        <id>[FEED_NAME]</id>
        <username>[ORGANIZATION_NAME]</username>
        <password>[PERSONAL_ACCESS_TOKEN]</password>
    </server>
    

发布项目

在提升的命令提示符下运行以下命令,将包发布到源。 新包将命名为: groupId:artifactId

gradle publish