Maven Snapshot Repository vs Release Repository


103

Чим відрізняється сховище знімків від сховища релізів ?

Це стосується налаштування сховищ (наприклад, Artifactory, Nexus тощо)


Що це стосується? Контроль джерела? Наскільки я знаю, це не стандартна термінологія, але я можу здогадатися, що знімок був використаний як зображення дерева-джерела в певний момент часу (можливо, для внутрішнього використання), тоді як реліз використовується для коду, який випускається зовні.
1800 р. ІНФОРМАЦІЯ

Здається, ви запитуєте про Maven (інструмент збирання). Можливо, ви повинні це включити у запитання та теги.
Бендін

Відповіді:


67

Випустіть артефакти

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

Артефакти знімка

Знімки фіксують незавершене виробництво та використовуються під час розробки. Артефакт знімка має як номер версії, наприклад "1.3.0" або "1.3", так і часову позначку. Наприклад, артефакт знімка для commons-lang 1.3.0 може мати назву commons-lang-1.3.0-20090314.182342-1.jar.

Взяті з refcard


Саят, це 1.1.0.M5 чи 1.1.0.M4 одна версія знімка?
Олександр Сурафель

4
Це визначає, що таке артефакти випуску та знімків. Але: чи потрібні два різних сховища?
днк

1
Добре письмову інформацію знайдено
Йоав Епштейн

1
Це не дає відповіді на питання, питання полягає в розрізненні випусків і сховищ знімків (не артефактів).
mks-d

1
@ mks-d Добре спостереження, але важко зрозуміти сховище чогось, не розуміючи спочатку, що це "щось". :) stackoverflow.com/a/5901460
datv

86

Репозиторії випуску містять випуски, а сховища знімків - знімки. У Maven знімок визначається як артефакт із версією, що закінчується на -SNAPSHOT. При розгортанні знімок перетворюється на часову позначку. За визначенням, знімки є змінними, випуски незмінні. Ось чому Nexus змушує зберігати їх окремо, тому що зазвичай вам не байдуже, якщо ви втратите знімки, але ви будете піклуватися про втрату релізів. Це робить очищення знімків набагато простіше впоратися з цим способом.


12
Дякуємо за "Під час розгортання SNAPSHOT перетворюється на часову позначку" .
дат

коли я налаштував роботу на джинкінах і використовував артефакти для завантаження для репортажу Nexus, я не міг побачити більше одного знімка. Як правило, коли ми вносимо зміни в проект і запускаємо збірку, буде створений новий артефакт. Хоча це і відбувається, але він перейменовує його на той самий 1.0-SNAPSHOT, він повинен називати його як 2.0-SNAPSHOT тощо. Будь-яка допомога .. @Brian Fox
frp farhan

Я використовував у секції після збирання джинкіни, розгортав артефакти для сховища Maven і конфігурував це як знімок репортажу Nexus.
frp farhan

3

Знімки - це ідея ідеї надати номер версії як -SNAPSHOTS, її розробляється вона може змінитися в будь-який час.

Внутрішнє сховище - це сховище випуску з фіксованим номером версії. Ви можете змінити SNAPSHOTS, але цей артефакт ніколи не змінюється після його виходу.


Для "його в процесі розробки він може змінитися в будь-який час" (для -SNAPSHOT)
дат

3

Зазвичай у Maven у нас два типи складок:

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

2) Випуск версій : випуск означає видалення SNAPSHOT в ідентифікаторі версії для збірки. Це звичайні версії збірки.

Артефакти знімків та артефакти випуску підштовхують до знімка, відповідно вивільняють сховища.


0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.