使用 Gradle 和 Azure Pipelines 生成和发布工件

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

Gradle 是适用于 Java 应用程序的常用生成工具,也是适用于 Android 的主要生成工具。 使用 Azure Pipelines,我们可以将 gradle 任务添加到生成定义,并生成和发布我们的生成工件。

先决条件

若要确保已设置所有先决条件,请在提权的命令提示符下运行以下命令,检查计算机上安装了哪个 Java 版本。

java -version

如果上述命令未返回 Java 版本,请确保返回并首先安装 Java JDK 或 JRE。

若要确认 Gradle 的安装,请在提权的命令提示符下运行以下命令:

gradle -v

设置身份验证

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

    一个屏幕截图,其中显示了如何创建个人访问令牌

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

    一个屏幕截图,其中显示了如何创建新的个人访问令牌。

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

  1. 复制你的令牌并将其保存在一个安全的位置。

  2. .gradle 文件夹中创建一个新文件并将其命名为 gradle.properties。 gradle 文件夹的路径通常位于 %INSTALLPATH%/gradle/user/home/.gradle/ 中。

  3. 使用文本编辑器打开 gradle.properties 文件,并添加以下代码片段:

    vstsMavenAccessToken=<PASTE_YOUR_PERSONAL_ACCESS_TOKEN_HERE>
    
  4. 完成后,保存你的文件。

使用 Gradle CLI 生成项目

  1. 打开 build.gradle 文件,并确保它以下面的内容开头:

    apply plugin: 'java'
    
  2. 将以下代码片段添加到 build.gradle 文件,以在生成期间下载工件。 将占位符替换为你的 groupID、artifactID 和 versionNumber。 例如:`compile(group: 'siteOps', name: 'odata-wrappers', version: '1.0.0.0')

    dependencies { 
        compile(group: '<YOUR_GROUP_ID>', name: '<ARTIFACT_ID>', version: '<VERSION_NUMBER>')  
    } 
    

要对此进行测试,我们可以创建一个示例 Java 控制台应用,并使用 Gradle 生成它。

public class HelloWorld { 
    public static void main(String[] args) { 
        System.out.println("Hello, world!"); 
    } 
} 

运行以下命令来生成你的项目。 你的生成输出应返回:BUILD SUCCESSFUL

gradle build

在 Azure Pipelines 中使用 Gradle

  1. 运行以下命令以创建 Gradle 包装器 gradlew。

    gradle wrapper
    
  2. 将更改推送到远程分支。 稍后在添加 Gradle 任务时将需要此文件。

  3. 导航到你的管道定义。 如果没有管道,请创建一个新管道,选择“使用经典编辑器”,然后选择“Gradle”模板。

    一个屏幕截图,其中显示了如何使用 Gradle 管道模板

  4. 可以将默认设置用于“gradlew 生成”任务。

    一个屏幕截图,其中显示了 Gradle 任务

  5. “发布生成工件”任务会将工件发布到 Azure Pipelines。

    一个屏幕截图,其中显示了“发布工件”任务。

  6. 完成后,选择“保存并排队”

  7. 运行完成后,可以在管道摘要中查看已发布的工件。

    一个屏幕截图,其中显示了管道摘要中的已发布工件。