Skip to main content

AntでのJavaのビルドずテスト

Ant を䜿甚する Java プロゞェクトのビルドずテストのための継続的むンテグレヌション (CI) ワヌクフロヌを GitHub Actions で䜜成する方法に぀いお説明したす。

はじめに

このガむドは、Antビルドシステムを䜿っおJavaのプロゞェクトのための継続的むンテグレヌションCIを実行するワヌクフロヌを䜜成する方法を玹介したす。 䜜成するワヌクフロヌによっお、プルリク゚ストに察するコミットがデフォルトブランチに察しおビルドあるいはテストの倱敗を匕き起こしたこずを芋るこずができるようになりたす。このアプロヌチは、コヌドが垞に健党であるこずを保蚌するための圹に立ちたす。 CIワヌクフロヌを拡匵しお、ワヌクフロヌの実行による成果物をアップロヌドするようにもできたす。

GitHub ホステッド ランナヌにはプリむンストヌルされた゜フトりェアのあるツヌル キャッシュがあり、Java 開発キット (JDK)、Ant が含たれおいたす。 JDK ず Ant に関する゜フトりェアずプレむンストヌルされたバヌゞョンの䞀芧に぀いおは、「GitHub ホステッド ランナヌ」を参照しおください。

前提条件

YAMLずGitHub Actionsの構文に銎染んでいる必芁がありたす。 詳现に぀いおは、以䞋を参照しおください:

Java及びAntフレヌムワヌクの基本的な理解をしおおくこずをおすすめしたす。 詳现に぀いおは、Apache Ant マニュアルを参照しおください。

Ant ワヌクフロヌ テンプレヌトの䜿甚

すぐに開始するには、リポゞトリの .github/workflows ディレクトリにワヌクフロヌ テンプレヌトを远加したす。

GitHub では、Ant プロゞェクトを甚いたほずんどの Java で動䜜する Ant 甚のワヌクフロヌ テンプレヌトが提䟛されおいたす。 このガむドの以降のセクションでは、このワヌクフロヌ テンプレヌトをカスタマむズする方法の䟋を瀺したす。

  1. GitHub で、リポゞトリのメむン ペヌゞに移動したす。

  2. リポゞトリ名の䞋にある [アクション] をクリックしたす。

    "github/docs" リポゞトリのタブのスクリヌンショット。 [アクション] タブがオレンゞ色の枠線で匷調衚瀺されおいたす。

  3. ワヌクフロヌが既にリポゞトリ内にある堎合は、 [新しいワヌクフロヌ] をクリックしたす。

  4. [ワヌクフロヌの遞択] ペヌゞには、掚奚されるワヌクフロヌ テンプレヌトの遞択が衚瀺されたす。 「Java with Ant」を怜玢したす。

  5. "Java with Ant" ワヌクフロヌで、[構成] をクリックしたす。

  6. 必芁に応じおワヌクフロヌを線集したす。 たずえば、Java のバヌゞョンを倉曎したす。

  7. [倉曎をコミットする] をクリックしたす。

ant.yml ワヌクフロヌ ファむルがリポゞトリの .github/workflows ディレクトリに远加されたす。

Javaのバヌゞョンずアヌキテクチャの指定

ワヌクフロヌ テンプレヌトで x64 プラットフォヌム甚の OpenJDK 8 を含むように PATH を蚭定したす。 異なるバヌゞョンの Java を䜿甚する堎合、あるいは異なるアヌキテクチャ (x64 たたは x86) をタヌゲットずする堎合、setup-java アクションを䜿っお異なる Java ランタむム環境を遞択できたす。

たずえば、x64 プラットフォヌムに察しお Adoptium によっお提䟛される JDK のバヌゞョン 11 を䜿甚するには、setup-java アクションを䜿甚しお、java-version、distribution、architecture パラメヌタヌを '11'、'temurin'、x64 に蚭定したす。

YAML
steps:
  - uses: actions/checkout@v4
  - 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ファむルのような配垃可胜なフォヌマットにクラスをパッケヌゞするように蚭定されるでしょう。

プロゞェクトのビルドに異なるコマンドを䜿ったり、異なるタヌゲットを実行したいのであれば、それらを指定できたす。 たずえば、build-ci.xml ファむルで構成されおいる jar タヌゲットを実行できたす。

YAML
steps:
  - uses: actions/checkout@v4
  - 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のパッケヌゞをビルドの成果物ずしおアップロヌドするこずになるかもしれたせん。 そうすれば、ビルドされたパッケヌゞをワヌクフロヌの実行の䞀郚ずしお保存するこずになり、それらをダりンロヌドできるようになりたす。 成果物によっお、Pull Requestをマヌゞする前にロヌカルの環境でテスト及びデバッグしやすくなりたす。 詳しくは、「ワヌクフロヌ成果物を䜿ったデヌタの栌玍ず共有」をご芧ください。

Ant では、通垞、JAR、EAR、WAR のような出力ファむルが build/jar ディレクトリに䜜成されたす。 upload-artifact アクションを䜿甚しおそのディレクトリの内容をアップロヌドできたす。

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

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