2008-11-09 3 views
68

스냅 샷 저장소와 릴리스 저장소의 차이점은 무엇입니까?Maven 스냅 샷 저장소와 릴리스 저장소

이 저장소를 설정을 참조입니다 (Artifactory처럼, 넥서스 등)

+0

로 표현되고 충분히 큰되지 않습니다 당신에 대해 묻는 것 같은데 여러 스냅 샷을 – bendin

+0

관련성이 무엇입니까? 소스 제어?필자가 아는 한 표준 용어는 아니지만 스냅 숏이 외부 적으로 릴리스 된 코드에 사용되는 동안 (아마도 내부 용으로) 특정 시점에서 소스 트리의 그림으로 사용되었다고 추측 할 수 있습니다. –

답변

44

릴리스 유물

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

스냅 샷 유물

스냅 샷은 진행중인 작업을 캡처하고 개발 과정에서 사용된다. 스냅 샷 아티팩트에는 버전 번호 (예 : "1.3.0"또는 "1.3")와 타임 스탬프가 모두 있습니다. 예를 들어, commons-lang 1.3.0의 스냅 샷 아티팩트는 commons-lang-1.3.0-20090314.182342-1.jar이라는 이름을 가질 수 있습니다. 받는다는에 보통 refcard

+0

Sayat, '1.1.0.M5'또는 '1.1.0.M4'스냅 샷 중 하나입니까? –

+1

이것은 릴리스 및 스냅 샷 아티팩트가 무엇인지 정의합니다. 그러나 : 두 개의 별개의 저장소가 필요합니까? – dna

+0

이것은 분명했습니다. 감사합니다. –

65

릴리스 저장소는 자료를 보유하고 스냅 샷 저장소는 스냅 샷을 보존. maven에서 스냅 샷은 버전이 -SNAPSHOT으로 끝나는 아티팩트로 정의됩니다. 배포되면 스냅 샷이 타임 스탬프로 바뀝니다. 정의에 따르면 스냅 샷은 변경 가능하고 릴리스는 변경 불가능합니다. 이러한 이유로 Nexus는 스냅 샷을 잃어 버릴지라도 상관 없으므로 별도로 저장할 수 있습니다.하지만 스냅 샷을 잃어 버렸는지 신경 써야합니다. 스냅 샷 정리를 훨씬 쉽게 처리 할 수 ​​있습니다.

+1

* "배포하면 SNAPSHOT이 타임 스탬프로 변환됩니다"*. – datv

1

에서 촬영

우리는 두 가지 유형이 빌드 :

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

2) 릴리스 빌드 : 릴리스는 빌드의 버전 ID로 SNAPSHOT을 제거함을 의미합니다. 이들은 정규 빌드 버전입니다.

스냅 샷 아티팩트 및 릴리스 아티팩트가 스냅 샷, 릴리스 리포지토리에 각각 전송됩니다.

3

스냅 샷은 버전 번호를 -SNAPSHOTS로 지정하는 것이 좋습니다. 해당 스냅 샷은 개발 중에 있으며 언제든지 변경할 수 있습니다.

내부 저장소는 고정 버전 번호가있는 릴리스 저장소입니다. SNAPSHOTS는 ​​수정할 수 있지만이 아티팩트는 출시 된 후에 절대로 변경되지 않습니다.

정말 동결되고 변경되지 않습니다 ONE 스냅 샷을 의미하지 않는다 여기

스냅은 스냅 누구의 수정 새 버전 번호

+0

* "개발 중 ** ** 언제든지 변경할 수 있습니다"* (-SNAPSHOT의 경우) – datv

0
을 포함 Maven (빌드 도구). 어쩌면 당신은 질문과 꼬리표에 그 것을 포함시켜야 할 것입니다.