Programing

Maven 스냅 샷 리포지토리 대 릴리스 리포지토리

lottogame 2020. 9. 5. 10:30
반응형

Maven 스냅 샷 리포지토리 대 릴리스 리포지토리


스냅 샷 리포지토리와 릴리스 리포지토리 의 차이점은 무엇입니까 ?

이것은 Repositories (Artifactory, Nexus 등) 설정과 관련이 있습니다.


아티팩트 릴리스

특정 시점 릴리스입니다. 릴리스 된 아티팩트는 시간이 지남에 따라 빌드가 반복 될 수 있도록하기 위해 견고하고 안정적이며 영구적 인 것으로 간주됩니다. 릴리스 된 JAR 아티팩트는 PGP 서명과 연관되며 체크섬은 바이너리 소프트웨어 아티팩트의 신뢰성과 무결성을 모두 확인합니다. Central Maven 저장소는 릴리스 아티팩트를 저장합니다.

스냅 샷 아티팩트

스냅 샷은 진행중인 작업을 캡처하고 개발 중에 사용됩니다. 스냅 샷 아티팩트에는 "1.3.0"또는 "1.3"과 같은 버전 번호와 타임 스탬프가 모두 있습니다. 예를 들어 commons-lang 1.3.0에 대한 스냅 샷 아티팩트의 이름은 commons-lang-1.3.0-20090314.182342-1.jar 일 수 있습니다.

refcard 에서 가져옴


릴리스 리포지토리는 릴리스를 보유하고 스냅 샷 리포지토리는 스냅 샷을 보유합니다. Maven에서 스냅 샷은 버전이 -SNAPSHOT로 끝나는 아티팩트로 정의됩니다. 배포되면 스냅 샷이 타임 스탬프로 변경됩니다. 정의에 따라 스냅 샷은 변경 가능하고 릴리스는 변경할 수 없습니다. 이것이 Nexus에서 별도로 저장하는 이유입니다. 일반적으로 스냅 샷을 잃어도 상관 없지만 릴리스를 잃어 버려도 상관 없습니다. 이렇게하면 스냅 샷 정리를 훨씬 쉽게 처리 할 수 ​​있습니다.


스냅 샷은 버전 번호를 -SNAPSHOTS로 제공하는 아이디어이며 개발 중이며 언제든지 변경할 수 있습니다.

내부 저장소는 고정 버전 번호가있는 릴리스 저장소입니다. SNAPSHOTS를 수정할 수 있지만 해당 이슈가 릴리스 된 후에는 변경되지 않습니다.


일반적으로 Maven에는 두 가지 유형의 빌드가 있습니다.

1) 스냅 샷 빌드 : SNAPSHOT은 일반 특정 버전이 아닌 현재 배포 복사본을 나타내는 특수 버전입니다. Maven은 원격 저장소의 모든 빌드에 대한 버전을 확인합니다. 스냅 샷 빌드는 개발 빌드 일뿐입니다.

2) 릴리스 빌드 : 릴리스는 빌드 의 버전 ID에서 SNAPSHOT을 제거하는 것을 의미합니다. 이들은 일반 빌드 버전입니다.

스냅 샷 아티팩트 및 릴리스 아티팩트는 각각 스냅 샷, 릴리스 저장소로 푸시됩니다.


여기서 SNAPSHOT은 고정되어 변경되지 않는 하나의 스냅 샷을 의미하지 않습니다. SNAPSHOT은 새 버전 번호로 표현할만큼 수정이 크지 않은 여러 스냅 샷을 포함합니다.

참고 URL : https://stackoverflow.com/questions/275555/maven-snapshot-repository-vs-release-repository

반응형