Репозиторий снимков Maven против репозитория выпуска


104

В чем разница между репозиторием моментальных снимков и репозиторием выпуска ?

Это относится к настройке репозиториев (например, Artifactory, Nexus и т. Д.)


К чему это относится? Управления источником? Насколько я знаю, это не стандартная терминология, но я могу предположить, что моментальный снимок использовался как изображение исходного дерева в определенный момент времени (вероятно, для внутреннего использования), в то время как релиз используется для кода, который выпущен извне.
1800 ИНФОРМАЦИЯ

Похоже, вы спрашиваете о Maven (инструменте сборки). Возможно, вам стоит включить это в вопрос и теги.
bendin

Ответы:


67

Артефакты выпуска

Это конкретные выпуски на определенный момент времени. Выпущенные артефакты считаются надежными, стабильными и бессрочными, чтобы гарантировать, что сборки, зависящие от них, будут воспроизводиться с течением времени. Выпущенные артефакты JAR связаны с подписями PGP, а контрольные суммы проверяют как подлинность, так и целостность двоичного программного артефакта. В центральном репозитории Maven хранятся артефакты выпуска.

Артефакты снимков

Моментальные снимки фиксируют незавершенную работу и используются во время разработки. Артефакт моментального снимка имеет номер версии, такой как «1.3.0» или «1.3», и метку времени. Например, артефакт моментального снимка для commons-lang 1.3.0 может иметь имя commons-lang-1.3.0-20090314.182342-1.jar.

Взято из рефкарты


Sayat, есть 1.1.0.M5 или 1.1.0.M4 одна версия снимка?
Александр Сурафель

4
Это определяет, что такое артефакты выпуска и снимка. Но: нужны ли два разных репозитория?
dna

1
Нашел хорошо написанную информацию на docs.oracle.com/middleware/1212/core/MAVEN/…
Йоав Эпштейн,

1
Это не отвечает на вопрос, вопрос заключается в различии между репозиториями релизов и снимков (а не артефактами).
mks-d

1
@ mks-d Хорошее наблюдение, но трудно понять хранилище чего-либо, не понимая сначала, что это за «что-то». :) stackoverflow.com/a/5901460
datv 08

86

Репозитории выпусков содержат выпуски, а репозитории снимков - снимки. В maven снимок определяется как артефакт с версией, заканчивающейся на -SNAPSHOT. При развертывании моментальный снимок преобразуется в метку времени. По определению, снимки изменяемы, выпуски неизменны. Вот почему Nexus заставляет вас хранить их отдельно, потому что обычно вам все равно, если вы потеряете снимки, но вам будет все равно, если вы потеряете выпуски. Таким образом, очистка снимка становится намного проще.


12
Спасибо за сообщение «При развертывании SNAPSHOT превращается в метку времени» .
datv 08

когда я настроил задание на jenkins и использовал артефакты загрузки в репозиторий моментальных снимков нексуса, я не мог видеть более одного снимка. Обычно, когда мы вносим изменения в проект и запускаем сборку, создается новый артефакт. Хотя это происходит, но он переименовывает его в тот же 1.0-SNAPSHOT, скорее он должен называть его 2.0-SNAPSHOT и так далее .. Любая помощь .. @Brian Fox
frp farhan

Я использовал в разделе пост-сборки jenkins, развертывал артефакты в репозиторий maven и настраивал его как репозиторий моментальных снимков nexus.
frp farhan

3

Моментальные снимки - это идея maven дать номер версии как -SNAPSHOTS, он находится в разработке, он может быть изменен в любое время.

Внутренний репозиторий - это репозиторий релизов с фиксированным номером версии. Вы можете изменить SNAPSHOTS, но этот артефакт никогда не изменится после его выпуска.


Для «он находится в разработке, он может быть изменен в любое время» (для -SNAPSHOT)
дата

3

Обычно в maven есть два типа сборок:

1) Сборки моментальных снимков : SNAPSHOT - это специальная версия, которая указывает текущую копию развертывания, а не обычную конкретную версию. Maven проверяет версию для каждой сборки в удаленном репозитории. Сборки моментальных снимков - это не что иное, как сборки для разработки.

2) Сборки выпуска : выпуск означает удаление SNAPSHOT в идентификаторе версии для сборки. Это обычные версии сборки.

Артефакты моментальных снимков и артефакты выпуска отправляются в репозитории моментальных снимков и выпусков соответственно.


0

SNAPSHOT здесь на самом деле не означает ОДИН снимок, который заморожен и не будет изменяться, SNAPSHOT охватывает несколько снимков, модификации которых недостаточно велики, чтобы их можно было представить новым номером версии.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.