Skip to main content

Создание и тестирование Java с помощью Ant

Узнайте, как создать рабочий процесс непрерывной интеграции (CI) в GitHub Actions, чтобы создать и протестировать свой Java-проект с помощью Ant.

Примечание.

GitHubразмещенные в данный момент средства выполнения не поддерживаются в GitHub Enterprise Server.

Введение

В этом руководстве показано, как создать рабочий процесс с непрерывной интеграцией (CI) для вашего Java-проекта с использованием системы сборки Ant. Создаваемый рабочий процесс позволит увидеть, когда фиксации в запросе на вытягивание вызывают сбои в сборке или тестировании ветви по умолчанию; этот подход поможет убедиться, что ваш код всегда работоспособен. Можно расширить рабочий процесс CI, чтобы передать артефакты через выполнение рабочего процесса.

GitHub размещённые раннеры имеют кэш инструментов с предустановленным программным обеспечением, включающим Java Development Kits (JDK) и Ant. Список программного обеспечения и предварительно установленных версий JDK и Ant см. в разделе Средства выполнения тестов, размещенные в GitHub.

Необходимые компоненты

Требуются знания YAML и синтаксиса GitHub Actions. Дополнительные сведения см. в разделе: * Синтаксис рабочего процесса для GitHub Actions * Написание рабочих процессов

Мы рекомендуем вам иметь базовое понимание Java и фреймворка Ant. Дополнительные сведения см. в руководстве по Apache Ant.

Использование локальных средств выполнения тестов для GitHub Enterprise Server

При использовании действий установки (таких как actions/setup-LANGUAGE) в GitHub Enterprise Server с использованием локальных средств выполнения тестов может потребоваться настроить в них кэш инструментов, у которых отсутствует доступ к Интернету. Дополнительные сведения см. в разделе Настройка кэша инструментов для локально размещенных средств выполнения без доступа к Интернету.

Использование шаблона рабочего процесса Ant

Чтобы быстро приступить к работе, добавьте шаблон рабочего процесса в .github/workflows каталог репозитория.

GitHub предоставляет шаблон рабочего процесса для Ant, который должен работать для большинства Java проектов Ant. В последующих разделах этого руководства приведены примеры настройки этого шаблона рабочего процесса.

  1. На GitHubперейдите на главную страницу репозитория. данных repositories.repositories.actions-tab %} 1. Если в вашем репозитории уже используется рабочий процесс, нажмите кнопку Создать рабочий процесс.

  2. На странице "Выбор рабочего процесса" показан выбор рекомендуемых шаблонов рабочих процессов. Поискайте «Java with Ant».

  3. В рабочем процессе «Java с Ant» нажмите Configure.

    Если вы не нашли шаблон рабочего процесса «Java с Ant», скопируйте следующий код рабочего процесса в новый файл под названием ant.yml в каталоге .github/workflows вашего репозитория.

    YAML
    name: Java CI
    
    on:
      push:
        branches: [ $default-branch ]
      pull_request:
        branches: [ $default-branch ]
    
    jobs:
      build:
        runs-on: ubuntu-latest
    
        steps:
        - uses: actions/checkout@v5
        - name: Set up JDK 11
          uses: actions/setup-java@v4
          with:
            java-version: '11'
            distribution: 'temurin'
        - name: Build with Ant
          run: ant -noinput -buildfile build.xml
    
  4. Измените рабочий процесс по мере необходимости. Например, измените версию Java.

  5. Щелкните Зафиксировать изменения.

Указание версии и архитектуры Java

Шаблон рабочего процесса настраивает PATH содержащий OpenJDK 8 для платформы x64. Если вы хотите использовать другую версию Java или выбрать другую архитектуру (x64 или x86), можно использовать действие setup-java для выбора другой среды выполнения Java.

Например, чтобы использовать JDK версии 11, предоставляемой Adoptium для платформы x64, можно выполнить действие setup-java и установить параметры java-version,distribution и architecture на '11', 'temurin' и x64.

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

Дополнительные сведения см. в описании действия setup-java.

Создание и тестирование кода

Вы можете использовать те же команды, которые используются для создания и тестирования кода в локальной среде.

Шаблон рабочего процесса будет запускать целевой объект по умолчанию, указанный в build.xml файле. Целевой объект по умолчанию обычно будет настроен на сборку классов, выполнение тестов и классов пакетов в их распространяемом формате, например файл JAR.

Если вы используете разные команды для сборки проекта или хотите выполнить другой целевой объект, это можно указать. Например, может понадобиться выполнить целевой объект jar, настроенный в файле build-ci.xml.

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

Упаковка данных рабочего процесса в виде артефактов

После успешной работы сборки и прохождения тестов, возможно, стоит загрузить полученные пакеты Java как артефакт сборки. Полученные пакеты будут храниться как часть выполнения рабочего процесса и их можно будет скачать. Артефакты помогут вам протестировать и отладить запросы на вытягивание в локальной среде до их слияния. Дополнительные сведения см. в разделе Хранение и предоставление общего доступа к данным с артефактами рабочего процесса.

Как правило, Ant создает выходные файлы, такие как JAR, EAR или WAR, в каталоге build/jar. Содержимое этого каталога можно передать с помощью действия upload-artifact.

YAML
steps:
  - uses: actions/checkout@v5
  - uses: actions/setup-java@v4
    with:
      java-version: '17'
      distribution: 'temurin'

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