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 일 수 있습니다.
릴리스 리포지토리는 릴리스를 보유하고 스냅 샷 리포지토리는 스냅 샷을 보유합니다. 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
'Programing' 카테고리의 다른 글
RPC 프레임 워크와 Apache Thrift 란 무엇입니까? (0) | 2020.09.05 |
---|---|
html 요소가없는 AngularJS ng-repeat (0) | 2020.09.05 |
HorizontalAlignment = Stretch, MaxWidth 및 Left를 동시에 정렬 하시겠습니까? (0) | 2020.09.05 |
Blueprint에서 app.config에 액세스하는 방법은 무엇입니까? (0) | 2020.09.05 |
대규모 Rails 애플리케이션에서 RSpec 테스트 속도 향상 (0) | 2020.09.05 |