使用 Gradle 发布项目

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

使用 Azure Artifacts,可以从单个源有效地管理依赖项,并将各种类型的包存储在一个位置。 Azure Artifacts 使开发人员能够发布和使用来自不同源的包,并根据源的可见性设置共享它们。 本文介绍如何连接到 Azure Artifacts 源并使用 Gradle 发布包。

先决条件

创建个人访问令牌

若要使用源进行身份验证,必须先创建包含打包 读取和写入 范围的个人访问令牌:

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

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

    显示如何查找个人访问令牌按钮的屏幕截图。

  3. 选择“ 新建令牌 ”并填写必填字段。 请务必选择“打包>读取和写入”范围。

  4. 完成操作后,选择“创建”。 复制令牌并将其保存在安全位置,因为下一步需要它。

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

项目设置

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

plugins {
  id 'maven-publish'
}

配置 build.gradle

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

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

    maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'            //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        credentials(PasswordCredentials)
        authentication {
            basic(BasicAuthentication)
        }
    }
    

下面是 build.gradle 文件应如下所示的示例:

repositories {
    mavenCentral()

    maven {
    url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'                //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
    name '<FEED_NAME>'
    credentials(PasswordCredentials)
    authentication {
        basic(BasicAuthentication)
        }
    }
}

publishing {
    publications {
        library(MavenPublication) {
            from components.java
        }
    }

    repositories {
        maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'           //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        credentials(PasswordCredentials)
        authentication {
            basic(BasicAuthentication)
            }
        }
    }
}

配置 gradle.properties

  1. 打开位于主文件夹的 .gradle 目录中的 gradle.properties 文件(~/.gradle/gradle.properties)。 如果文件不存在,请创建一个新文件。

  2. 添加以下代码片段,将占位符替换为之前创建的源名称、组织名称和个人访问令牌。

    # Substitute FEED_NAME with the same name specified as the 'name' of the maven repository in build.gradle.
    # The value of the username is arbitrary but should not be blank.
    [FEED_NAME]Username=[ORGANIZATION_NAME]
    [FEED_NAME]Password=[PERSONAL_ACCESS_TOKEN]
    

发布程序包

  1. 在项目目录中运行以下命令,将包发布到源:

    gradle publish
    

显示已成功发布到源的包的屏幕截图。