자바 패키지 관리

Artifact Registry는 Maven 및 Gradle을 사용하여 빌드하는 자바 패키지를 지원합니다.

개요

Artifact Registry의 자바 패키지에 익숙해지려면 빠른 시작을 사용하면 됩니다.

자세히 알아보려면 다음 정보를 읽어보세요.

  1. 패키지의 자바 패키지 저장소를 만듭니다.
  2. 원격가상 저장소를 만드는 방법을 알아보세요.
  3. 저장소 사용 예시에서 원격 저장소와 가상 저장소를 사용하는 방법을 알아보세요.
  4. 저장소와 연결할 계정에 권한을 부여합니다. Artifact Registry와의 일반적인 통합을 위한 서비스 계정에는 동일한 프로젝트의 저장소에 대한 기본 권한이 있습니다.
  5. 도구 구성:
    • Maven 또는 Gradle에 인증을 구성합니다.
    • Scala 및 자바의 빌드 도구로 Maven 또는 Gradle을 사용하는 대신 sbt를 사용하려면 커뮤니티에서 만든 sbt 플러그인을 사용할 수 있습니다. 이 문서에서는 Scala 클라이언트의 구성이나 사용을 설명하지 않습니다.
    • 패키지를 업로드하고 다운로드하도록 Cloud Build를 구성합니다.
    • Google Cloud 런타임 환경에 배포 알아보기
  6. 패키지 관리 알아보기

Maven 스냅샷 및 출시 버전

Maven은 Maven 프로젝트의 스냅샷 버전과 출시 버전을 구분합니다.

스냅샷

스냅샷은 자바 프로젝트의 출시 전 버전입니다. 스냅샷의 버전 번호에는 프로젝트 객체 모델(POM)에 서픽스 -SNAPSHOT이 포함됩니다. 예를 들어 pom.xml 파일의 이 설정은 개발 중인 프로젝트의 1.0 버전에 대한 것입니다.

<version>1.0-SNAPSHOT</version>

이 프로젝트에서 패키지를 게시하면 Maven 3은 각 스냅샷 버전이 고유하도록 스냅샷 버전 번호에 타임스탬프를 자동으로 추가합니다. Maven 2는 저장소의 기존 스냅샷을 덮어쓰는 수단으로 고유하지 않은 스냅샷 버전을 지원합니다. 이 방법은 빌드의 재현성에 문제가 되므로 Maven 3은 더 이상 고유하지 않은 스냅샷을 지원하지 않습니다.

스냅샷을 사용하면 저장소에 게시할 때마다 Maven 프로젝트에서 버전 번호를 증가시키지 않고 출시 전 패키지의 업데이트된 버전을 반복적으로 게시할 수 있습니다. 개발 중에 패키지에 대한 종속 항목이 있는 다른 프로젝트는 저장소에서 1.0 버전의 최신 스냅샷을 가져올 수 있습니다.

Maven 버전 번호 구문과 정렬 순서에 대한 자세한 내용은 버전 순서 사양을 참조하세요.

출시

패키지를 출시할 준비가 되면 POM 파일의 버전 번호에서 -SNAPSHOT 서픽스를 삭제하고 패키지를 사용하는 프로젝트가 스냅샷 버전 대신 출시 버전을 사용하도록 업데이트합니다.

모든 스냅샷 종속 항목을 나열하려면 다음 명령어를 사용하여 종속 항목 트리를 필터링하면 됩니다.

mvn dependency:tree -Dincludes=:::*-SNAPSHOT

Artifact Registry 버전 정책

Artifact Registry에서 Maven 저장소를 만들 때 Maven 버전 정책을 지정할 수 있습니다.

  • 없음 - 스냅샷과 출시 패키지를 모두 저장합니다. 기본 설정입니다.
  • 스냅샷 - 스냅샷 패키지만 저장합니다.
  • 출시 - 출시 패키지만 저장합니다.

스냅샷 버전 정책을 선택하는 경우 저장소에서 일치하는 버전을 덮어쓰는 고유하지 않은 스냅샷 버전을 허용할지 여부도 지정할 수 있습니다. Maven 3은 고유하지 않은 버전 모델을 지원하지 않으므로 고유 버전을 사용하는 것이 좋습니다.