setup-java v5.5.0: JDK 보안 강화 및 Maven 편의 기능 개선

by DD
7시간 전
조회수 0

JDK 다운로드 보안 강화: GPG 서명 검증 기능 추가로 신뢰할 수 없는 JDK 설치 방지

새로운 JDK 배포판 지원: Tencent Kona JDK 설치 지원 및 GraalVM Community 에디션 추가

Maven 사용자 경험 개선: 기본 빌드 로그 간소화 및 `toolchains.xml` 중복 항목 자동 제거

워크플로우 유연성 증대: 기본 JDK 설정 없이 특정 JDK만 사용 가능하도록 옵션 제공

JDK 다운로드 시 암호화 서명 검증 도입

setup-java v5.5.0은 `verify-signature: true` 옵션을 통해 다운로드된 JDK 아카이브의 GPG 서명 검증(GPG Signature Verification)을 기본적으로 수행한다.

지원 배포판: 현재 Temurin 및 Microsoft JDK 배포판을 지원하며, 미지원 배포판에 대해선 실패 즉시 중단(Fail Fast) 처리하여 보안 위험을 최소화한다.

사용자 정의 키 지원: `verify-signature-public-key` 입력으로 신뢰할 수 있는 공개 키(Trusted Public Key)를 직접 지정할 수 있다.

이 기능은 공급망 공격(Supply Chain Attack)으로부터 개발 환경을 보호하는 데 중요한 역할을 한다.

Tencent Kona JDK 및 GraalVM Community 지원

이번 릴리스는 Tencent Kona JDK를 새로운 배포판(`kona`)으로 직접 설치할 수 있게 지원한다. 또한, 이전 버전(v5.4.0)에서 추가된 GraalVM Community 에디션(`graalvm-community`) 지원은 개발자들에게 더 넓은 JDK 선택지를 제공한다.

유연한 JDK 설치: `set-default: false` 옵션을 사용하면 `JAVA_HOME` 및 `PATH` 환경 변수를 변경하지 않고도 특정 JDK를 설치하고 Maven Toolchains에 등록할 수 있다.

이는 다양한 Java 버전 및 배포판을 사용하는 프로젝트에서 환경 충돌(Environment Conflict) 없이 개발 및 빌드 환경을 구성하는 데 도움을 준다.

Maven 빌드 로그 및 Toolchains 관리 개선

Maven 사용자 경험을 향상시키기 위해 여러 개선 사항이 적용되었다. Maven 3.9+ 및 Maven Wrapper 사용 시 `--no-transfer-progress` 옵션이 기본 적용되어 빌드 로그(Build Log)가 기본적으로 간결해진다.

대화형 모드 비활성화: `settings.xml`에서 인터랙티브 모드가 비활성화되어 CI 환경에서 프롬프트 대기 없이 빌드가 중단 없이 진행된다.

`toolchains.xml` 중복 방지: 액션을 여러 번 실행해도 `toolchains.xml` 파일에 중복 항목이 추가되지 않도록 처리하며, 기존 설정은 유지된다. 이는 재현 가능한 빌드(Reproducible Builds) 환경 구축에 기여한다.

setup-java v5.5.0: signature verification, Kona JDK, and Maven fixes