Skip to main content

Ant를 사용하여 Java 빌드 및 테스트

GitHub Actions CI(연속 통합) 워크플로를 만들어 Ant를 사용하여 Java 프로젝트를 빌드하고 테스트할 수 있습니다.

소개

이 가이드에서는 Ant 빌드 시스템을 사용하여 Java 프로젝트에 대한 CI(연속 통합)를 수행하는 워크플로를 만드는 방법을 보여 줍니다. 만든 워크플로를 사용하면 끌어오기 요청에 커밋할 때 기본 분기에 대한 빌드 또는 테스트 오류가 발생하는 경우를 확인할 수 있습니다. 이 방법은 코드가 항상 정상인지 확인하는 데 도움이 될 수 있습니다. CI 워크플로를 확장하여 워크플로 실행에서 아티팩트를 업로드할 수 있습니다.

GitHub 호스트 실행기에는 JDK(Java Development Kit) 및 Ant를 포함하는 소프트웨어가 사전 설치된 도구 캐시가 있습니다. JDK 및 Ant용 소프트웨어 및 미리 설치된 버전 목록은 "GitHub 호스팅 실행기 사용"을 참조하세요.

필수 조건

YAML 및 GitHub Actions의 구문에 대해 잘 알고 있어야 합니다. 자세한 내용은 다음을 참조하세요.

Java 및 Ant 프레임워크를 기본적으로 이해하는 것이 좋습니다. 자세한 내용은 Apache Ant 설명서를 참조하세요.

Ant 시작 워크플로 사용

빠르게 시작하려면 시작 워크플로를 리포지토리의 .github/workflows 디렉터리에 추가합니다.

GitHub는 대부분의 Ant 프로젝트에서 작동하는 Ant 시작 워크플로를 제공합니다. 이 가이드의 후속 섹션에서는 이 시작 워크플로를 사용자 지정하는 방법에 대한 예제를 제공합니다.

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.

  2. 리포지토리 이름 아래에서 작업을 클릭합니다.

    "github/docs" 리포지토리의 탭 스크린샷. "작업" 탭은 주황색 윤곽선으로 강조 표시됩니다.

  3. 리포지토리에 워크플로가 이미 있는 경우 새 워크플로를 클릭합니다.

  4. "워크플로 선택" 페이지에 권장되는 시작 워크플로가 표시됩니다. "Java with Ant"를 검색합니다.

  5. "Java with Ant" 워크플로에서 Configure을(를) 클릭합니다.

  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, distributionarchitecture 매개 변수를 각각 '11', 'temurin'x64로 구성할 수 있습니다.

YAML
steps:
  - uses: actions/checkout@v4
  - name: Set up JDK 11 for x64
    uses: actions/setup-java@v3
    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@v3
    with:
      java-version: '17'
      distribution: 'temurin'
  - 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@v4
  - uses: actions/setup-java@v3
    with:
      java-version: '17'
      distribution: 'temurin'

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