Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Diese Version von GitHub Enterprise wird eingestellt am 2023-03-15. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Java bauen und testen mit Ant

Du kannst einen Workflow für kontinuierliche Integration (CI) in GitHub-Aktionen erstellen, um Dein Java-Projekt mit Ant zu bauen und zu testen.

Hinweis: GitHub-gehostete Runner werden auf GitHub Enterprise Server derzeit nicht unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der GitHub public roadmap.

Einführung

Dieser Leitfaden zeigt Dir, wie Du einen Workflow erstellen kannst, der eine kontinuierliche Integration (CI) für Dein Java-Projekt mit Hilfe des Build-Systems Ant durchführt. Der Workflow, den Du erstellst, zeigt Dir, wenn Commits zu einem Pull-Request zu Build- oder Testfehlern für deinen Standard-Zweig führen. Dieser Ansatz kann dazu beitragen, dass Dein Code immer brauchbar ist. Du kannst Deinen CI-Workflow so erweitern, dass er Artefakte von einem Workflow-Lauf hochlädt.

GitHub-gehostete Runner verfügen über einen Toolcache mit vorinstallierter Software, die Java Development Kits (JDKs) und Ant umfasst. Eine Liste der Software und der vorinstallierten Versionen für JDK und Ant findest du unter Spezifikationen für GitHub-gehostete Runner.

Voraussetzungen

Du solltest mit YAML und der Syntax für GitHub Actions vertraut sein. Weitere Informationen finden Sie unter

Du solltest ein grundlegendes Verständnis von Java und dem Framework Ant haben. Weitere Informationen findest du im Handbuch zu Apache Ant.

Verwendung von selbstgehosteten Runnern auf GitHub Enterprise Server

Wenn du Setup-Aktionen (wie z.B.actions/setup-LANGUAGE) auf GitHub Enterprise Server mit selbstgehosteten Runnern verwendest, musst du möglicherweise den Tools-Cache auf Runnern einrichten, die keinen Internetzugang haben. Weitere Informationen findest du unter Einrichten des Toolcaches auf selbst gehosteten Runnern ohne Internetzugriff.

Verwenden des Ant-Starterworkflows

GitHub bietet einen Ant-Starterworkflow, der für die meisten Ant-basierten Java-Projekte funktionieren wird. Weitere Informationen findest du im Ant-Starterworkflow.

Um schnell loszulegen, kannst du beim Erstellen eines neuen Workflows den vorkonfigurierten Ant-Starterworkflow auswählen. Weitere Informationen findest du in der Schnellstartanleitung für GitHub Actions.

Du kannst diesen Workflow auch manuell hinzufügen, indem du eine neue Datei im Verzeichnis .github/workflows deines Repositorys erstellst.

YAML
name: Java CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

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

Dieser Workflow führt die folgenden Schritte aus:

  1. Im Schritt checkout wird eine Kopie deines Repositorys auf den Runner heruntergeladen.
  2. In Schritt setup-java wird das Eclipse Temurin 17-JDK (Java) von Eclipse Adoptium konfiguriert.
  3. Der Schritt „Mit Ant erstellen“ führt das Standardziel in deiner Datei build.xml im nicht-interaktiven Modus aus.

Die Standardstarterworkflows sind ausgezeichnete Ausgangspunkte beim Erstellen von Build- und Testworkflows, und du kannst den Starterworkflow den Anforderungen deines Projekts anpassen.

Ausführen auf einem anderen Betriebssystem

Die Vorlage zum Starter-Workflow konfiguriert Aufträge zur Ausführung unter Linux und verwendet mit GitHub gehostete ubuntu-latest-Runner. Du kannst den runs-on-Schlüssel ändern, um deine Aufträge auf einem anderen Betriebssystem auszuführen. Beispielsweise kannst Du die GitHub-gehosteten Windows-Läufer verwenden.

runs-on: windows-latest

Oder Du kannst auf den GitHub-gehosteten macOS-Läufern laufen.

runs-on: macos-latest

Du kannst Aufträge auch in Docker-Containern ausführen oder einen selbst gehosteten Läufer bereitstellen, der auf Deiner eigenen Infrastruktur läuft. Weitere Informationen findest du unter Workflowsyntax für GitHub Actions.

Spezifizieren der JVM-Version und -Architektur

Der Starterworkflow richtet PATH so ein, dass OpenJDK 8 für die x64-Plattform enthalten ist. Wenn du eine andere Java-Version verwenden willst oder auf eine andere Architektur (x64 oder x86) abzielen möchtest, kannst du die setup-java-Aktion verwenden, um eine andere Java-Laufzeitumgebung auszuwählen.

Um etwa Version 11 des JDK zu verwenden, das von Adoptium für die x64-Plattform bereitgestellt wird, kannst du die Aktion setup-java verwenden und die Parameter java-version, distribution und architecture für '11', 'adopt' und x64 konfigurieren.

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

Weitere Informationen findest du unter der Aktion setup-java.

Deinen Code bauen und testen

Du kannst die gleichen Befehle verwenden, die Du auch lokal verwendest, um Deinen Code zu bauen und zu testen.

Der Starterworkflow führt das in der Datei build.xml angegebene Standardziel aus. Dein Standard-Ziel wird normalerweise eingestellt, um Klassen zu bauen, Tests durchzuführen und Klassen in ihr verteilbares Format (z.B . eine JAR-Datei) zu paketieren.

Wenn Du zum Bauen Deines Projekts andere Befehle verwenden oder ein anderes Ziel auszuführen möchtest, kannst Du dies angeben. Du kannst beispielsweise das jar-Ziel ausführen, das in deiner Datei _build-ci.xml_ konfiguriert ist.

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

Workflow-Daten als Artefakte paketieren

Nachdem sowohl Build erfolgreich war und deine Tests bestanden hat, wirst du die resultierenden Java-Pakete als Build-Artefakt hochladen wollen. Dies speichert die gebauten Pakete als Teil der Workflow-Ausführung und ermöglicht Dir, sie herunterzuladen. Artefakte können Dir helfen, Pull-Requests in deiner lokalen Umgebung zu testen und zu debuggen, bevor sie zusammengeführt werden („merge“). Weitere Informationen findest du unter Speichern von Workflowdaten mithilfe von Artefakten.

Ant erstellt normalerweise Ausgabedateien wie JAR-, EAR- oder WAR-Dateien im Verzeichnis build/jar. Du kannst den Inhalt dieses Verzeichnisses mit der Aktion upload-artifact hochladen.

YAML
steps:
  - uses: actions/checkout@v2
  - uses: actions/setup-java@v2
    with:
      java-version: '17'
      distribution: 'temurin'
  
  - run: ant -noinput -buildfile build.xml
  - uses: actions/upload-artifact@v2
    with:
      name: Package
      path: build/jar