注: GitHub 托管的运行器目前在 GitHub Enterprise Server 上不受支持。 您可以在 GitHub 公共路线图 上查看有关未来支持计划的更多信息。
简介
本指南介绍如何使用 Ant 构建系统为 Java 项目创建执行持续集成 (CI) 的工作流程。 您创建的工作流程将允许您查看拉取请求提交何时会在默认分支上导致构建或测试失败; 这个方法可帮助确保您的代� �始终是健康的。 您可以扩展 CI 工作流程以从工作流程运行上� 构件。
GitHub 托管的运行器有工具缓存预安装的软件,包括 Java Development Kits (JDKs) 和 Ant。 有关软件以及 JDK 和 Ant 预安装版本的列表,请参阅 GitHub 托管的运行器的规� �。
基本要求
您应该熟悉 YAML 和 GitHub Actions 的语法。 更多信息请参阅:
建议您对 Java 和 Ant 框架有个基本的了解。 更多信息请参阅“Apache Ant 手册”。
在 GitHub Enterprise Server 上使用自托管的运行器
在包含自托管运行器的 GitHub Enterprise Server 上使用设置操作(例如 actions/setup-LANGUAGE
)时,您可能需要在没有连接互联网的运行器上设置工具缓存。 更多信息请参阅“在没有互联网连接的自托管运行器上设置工具缓存”。
Using the Ant starter workflow
GitHub provides an Ant starter workflow that will work for most Ant-based Java projects. For more information, see the Ant starter workflow.
To get started quickly, you can choose the preconfigured Ant starter workflow when you create a new workflow. 更多信息请参阅“GitHub Actions 快速入门”。
您也可以通过在仓库的 .github/workflow
目录中创建新文件来手动添� 此工作流程。
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
此工作流程执行以下步骤:
checkout
步骤在运行器上下载仓库的副本。setup-java
步骤配置 Adoptium 的 Java 11 JDK。- “使用 Ant 构建”步骤以非交互模式运行
build.xml
中的默认目� �。
The default starter workflows are excellent starting points when creating your build and test workflow, and you can customize the starter workflow to suit your project’s needs.
在其他操作系统上运行
The starter workflow configures jobs to run on Linux, using the GitHub-hosted ubuntu-latest
runners. 您可以更改 runs-on
键,让您的作业在其他操作系统上运行。 例如,您可以使用 GitHub 托管的 Windows 运行器。
runs-on: windows-latest
或者,您可以在 GitHub 托管的 macOS 运行器上运行。
runs-on: macos-latest
您还可以在 Docker 容器中运行作业,或者提供在自己的基础架构上运行的自托管运行器。 更多信息请参阅“GitHub Actions 的工作流程语法”。
指定 JVM 版本和架构
The starter workflow sets up the PATH
to contain OpenJDK 8 for the x64 platform. 如果要使用不同的 Java 版本或面向不同的架构(x64
或 x86
),您可以使用 setup-java
操作选择不同的 Java 运行时环境。
例如,要使用 Adoptium 提供的用于 x611 平台的 11 版 JDK,您可以使用 setup-java
操作,将 java-version
、distribution
和 architecture
参数配置为 '11'
、'adopt'
和 x64
。
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 文件。
如果使用不同的命令来构建项目,或者想要运行不同的目� �,则可以指定这些命令。 For example, you may want to run the jar
target that's configured in your _build-ci.xml_
file.
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
操作上� 该目录的内容。
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