Ant로 Java 빌드 및 테스트하기

Ant로 Java 빌드 및 테스트하기

GitHub Actions에서 Ant로 Java 프로젝트를 빌드하고 테스트하는 지속적 통합(CI) 워크플로를 만드는 방법을 알려드릴게요.

출처: 문서

본문

GitHub Actions에서 Ant 빌드 시스템을 사용해서 Java 프로젝트에 대한 지속적 통합(CI)을 수행하는 워크플로를 어떻게 만드는지 알아봅니다.

소개

이 가이드는 Ant 빌드 시스템을 사용해서 Java 프로젝트에 대한 지속적 통합(CI)을 수행하는 워크플로를 만드는 방법을 보여줍니다. 만든 워크플로를 통해 풀 리퀘스트의 커밋이 기본 브랜치에 대해 빌드나 테스트 실패를 일으키는 시점을 확인할 수 있습니다. 이 접근 방식은 코드가 항상 정상 상태를 유지하는 데 도움이 될 수 있습니다. 워크플로 실행에서 아티팩트를 업로드하도록 CI 워크플로를 확장할 수 있습니다.

GitHub 호스팅 러너에는 Java Development Kits(JDK)와 Ant를 포함한 사전 설치된 소프트웨어가 있는 도구 캐시가 있습니다. JDK와 Ant의 소프트웨어 및 사전 설치된 버전 목록은 GitHub-hosted runners를 참고하세요.

사전 요구 사항

YAML과 GitHub Actions 구문에 익숙해야 합니다. 자세한 내용은 다음을 참고하세요:

Java와 Ant 프레임워크에 대한 기본적인 이해를 권장합니다. 자세한 내용은 Apache Ant Manual을 참고하세요.

Ant 워크플로 템플릿 사용하기

빠르게 시작하려면 저장소의 .github/workflows 디렉터리에 워크플로 템플릿을 추가하세요.

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

  1. GitHub에서 저장소의 메인 페이지로 이동합니다.

  2. 저장소 이름 아래에서 Actions를 클릭합니다.

    Screenshot of the tabs for the "github/docs" repository. The "Actions" tab is highlighted with an orange outline.

  3. 저장소에 이미 워크플로가 있다면 New workflow를 클릭합니다.

  4. "Choose a workflow" 페이지에 추천 워크플로 템플릿 목록이 표시됩니다. "Java with Ant"를 검색하세요.

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

  6. 필요에 따라 워크플로를 편집합니다. 예를 들어 Java 버전을 변경합니다.

  7. Commit changes를 클릭합니다.

    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로 구성할 수 있습니다.

steps:
  - uses: actions/checkout@v6
  - 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 타겟을 실행하고 싶을 수 있습니다.

steps:
  - uses: actions/checkout@v6
  - 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 패키지를 빌드 아티팩트로 업로드하고 싶을 수 있습니다. 이렇게 하면 빌드된 패키지가 워크플로 실행의 일부로 저장되고 다운로드할 수 있습니다. 아티팩트는 풀 리퀘스트를 머지하기 전에 로컬 환경에서 테스트하고 디버깅하는 데 도움이 될 수 있습니다. 자세한 내용은 Store and share data with workflow artifacts를 참고하세요.

Ant는 일반적으로 JAR, EAR, WAR 같은 출력 파일을 build/jar 디렉터리에 만듭니다. upload-artifact 액션을 사용해서 해당 디렉터리의 내용을 업로드할 수 있습니다.

steps:
  - uses: actions/checkout@v6
  - 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

더 알아보기 (Learn more)