我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们
GitHub AE 目前是有限发行版。请联系我们的销售团队了解更多信息。

使用 Ant 构建和测试 Java

您可以在 GitHub Actions 中创建持续集成 (CI) 工作流程,以使用 Ant 构建和测试 Java 项目。

GitHub Actions 可用于 GitHub Free、GitHub Pro、组织的 GitHub Free,GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server 、GitHub One 及 GitHub AE。 GitHub Actions 不适用于使用旧版按仓库计划的帐户所拥有的私有仓库。

本文内容

注意: GitHub Actions 目前正在测试用于 GitHub AE 。

简介

本指南介绍如何使用 Ant 构建系统为 Java 项目创建执行持续集成 (CI) 的工作流程。 您创建的工作流程将允许您查看拉取请求提交何时会在默认分支上导致构建或测试失败; 这个方法可帮助确保您的代码始终是健康的。 您可以扩展 CI 工作流程以从工作流程运行上传构件。

GitHub 托管的运行器有工具缓存预安装的软件,包括 Java Development Kits (JDKs) 和 Ant。 有关软件以及 JDK 和 Ant 预安装版本的列表,请参阅 GitHub 托管的运行器的规格

基本要求

您应该熟悉 YAML 和 GitHub Actions 的语法。 更多信息请参阅:

建议您对 Java 和 Ant 框架有个基本的了解。 更多信息请参阅“Apache Ant 手册”。

从 Ant 工作流程模板开始

GitHub 提供有 Ant 工作流程模板,应该适用于大多数基于 Ant 的 Java 项目。 更多信息请参阅 Ant 工作流程模板

要快速开始,您可以在创建新工作流程时选择预配置的 Ant 模板。 更多信息请参阅“GitHub Actions 快速入门”。

您也可以通过在仓库的 .github/workflow 目录中创建新文件来手动添加此工作流程。

YAML
name: Java CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 11
        uses: actions/setup-java@v2
        with:
          java-version: '11'
          distribution: 'adopt'
      - name: Build with Ant
        run: ant -noinput -buildfile build.xml

此工作流程执行以下步骤:

  1. checkout 步骤在运行器上下载仓库的副本。
  2. setup-java 步骤配置 Adoptium 的 Java 11 JDK。
  3. “使用 Ant 构建”步骤以非交互模式运行 build.xml 中的默认目标。

在创建构建和测试工作流程时,默认工作流模板是很好的起点,然后您可以自定义模板以满足项目的需求。

在其他操作系统上运行

初学者工作流程模板使用 GitHub 托管的 ubuntu-latest 运行器将作业配置为在 Linux 上运行。 您可以更改 runs-on 键,让您的作业在其他操作系统上运行。 例如,您可以使用 GitHub 托管的 Windows 运行器。

runs-on: windows-latest

或者,您可以在 GitHub 托管的 macOS 运行器上运行。

runs-on: macos-latest

您还可以在 Docker 容器中运行作业,或者提供在自己的基础架构上运行的自托管运行器。 更多信息请参阅“GitHub Actions 的工作流程语法”。

指定 JVM 版本和架构

初学者工作流程模板将 PATH 设置为包含 OpenJDK 8,用于 x64 平台。 如果要使用不同的 Java 版本或面向不同的架构(x64x86),您可以使用 setup-java 操作选择不同的 Java 运行时环境。

例如,要使用 Adoptium 提供的用于 x611 平台的 11 版 JDK,您可以使用 setup-java 操作,将 java-versiondistributionarchitecture 参数配置为 '11''adopt'x64

YAML
steps:
  - uses: actions/checkout@v2
  - name: Set up JDK 11 for x64
    uses: actions/setup-java@v2
    with:
      java-version: '11'
      distribution: 'adopt'
      architecture: x64

更多信息请参阅 setup-java 操作。

构建和测试代码

您可以使用与本地相同的命令来构建和测试代码。

初学者工作流程将运行 build.xml 文件中指定的默认目标。 默认目标通常设置为将类、运行测试和包类设置为其可分发格式,例如 JAR 文件。

如果使用不同的命令来构建项目,或者想要运行不同的目标,则可以指定这些命令。 例如,您可能想要运行在 build-ci.xml 文件中配置的 jar 目标。

YAML
steps:
  - uses: actions/checkout@v2
  - uses: actions/setup-java@v2
    with:
      java-version: '11'
      distribution: 'adopt'
  - name: Run the Ant jar target
    run: ant -noinput -buildfile build-ci.xml jar

将工作流数据打包为构件

构建成功且测试通过后,您可能想要上传生成的 Java 包作为构件。 这会将构建的包存储为工作流程运行的一部分,并允许您下载它们。 构件可帮助您在拉取请求合并之前在本地环境中测试并调试它们。 更多信息请参阅“使用构件持久化工作流程”。

Ant 通常会在 build/jar 目录中创建 JAR、EAR 或 WAR 等输出文件。 您可以使用 upload-artifact 操作上传该目录的内容。

YAML
steps:
  - uses: actions/checkout@v2
  - uses: actions/setup-java@v2
    with:
      java-version: '11'
      distribution: 'adopt'

  - run: ant -noinput -buildfile build.xml
  - uses: actions/upload-artifact@v2
    with:
      name: Package
      path: build/jar

此文档对您有帮助吗?

Privacy policy

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。