2008-11-09 5 views
68

¿Cuál es la diferencia entre un instantánea repositorio y versión Repositorio?Repositorio de instantáneas Maven frente a depósito de versiones

Esto es con referencia a la creación de repositorios (como Artifactory, Nexus, etc)

+0

parece que estás preguntando por Maven (la herramienta de construcción). Tal vez deberías incluir eso en la pregunta y las etiquetas. – bendin

+0

¿Qué es esto en relación con? ¿Fuente de control?No es una terminología estándar hasta donde yo sé, pero podría adivinar que una instantánea se utilizó como una imagen de un árbol fuente en un momento dado (probablemente para uso interno), mientras que una versión se usa para el código que se publica externamente. –

Respuesta

44

artefactos versión

Estos son específicos, comunicados de punto en el tiempo. Los artefactos liberados se consideran sólidos, estables y perpetuos para garantizar que las construcciones que dependen de ellos sean repetibles a lo largo del tiempo. Los artefactos JAR lanzados están asociados con las firmas PGP y las sumas de verificación verifican tanto la autenticidad como la integridad del artefacto del software binario. Las tiendas de repositorio de Central Maven lanzan artefactos.

artefactos de instantáneas

instantáneas capturar un trabajo en progreso y se utilizan durante el desarrollo. Un artefacto de instantánea tiene un número de versión como "1.3.0" o "1.3" y una marca de tiempo. Por ejemplo, un artefacto de instantánea para commons-lang 1.3.0 podría tener el nombre commons-lang-1.3.0-20090314.182342-1.jar.

Tomado de refcard

+0

Sayat, ¿'1.1.0.M5' o '1.1.0.M4' una versión de la instantánea? –

+1

Esto define qué artefactos de liberación e instantánea son. Pero: ¿se necesitan dos repositorios distintos? – dna

+0

esto fue claro para mí, gracias –

65

repositorios comunicado de mantener comunicados y repositorios de instantáneas mantener instantáneas. En maven, una instantánea se define como un artefacto con una versión que termina en -SNAPSHOT. Cuando se implementa, la instantánea se convierte en una marca de tiempo. Por definición, las instantáneas son mutables, las versiones son inmutables. Esta es la razón por la que Nexus hace que los guardes por separado, porque generalmente no te importa si pierdes instantáneas, pero te importará si pierdes las versiones. Hace que la limpieza de instantáneas sea mucho más fácil de manejar de esa manera.

+1

Gracias por el * "Cuando se implementa, el SNAPSHOT se convierte en una marca de tiempo" *. – datv

1

lo general, en experta tenemos dos tipos de construídos:

1) instantánea construye: instantánea es la versión especial que indica copia despliegue actual y no una versión específica regular. Maven comprueba la versión para cada compilación en el repositorio remoto. Las compilaciones de instantáneas no son más que construcciones de mantenimiento.

2) Libere compilaciones: Liberar significa eliminar SNAPSHOT en la versión ID de la compilación. Estas son las versiones de compilación normales.

Los artefactos de instantánea y los artefactos de liberación se envían a la instantánea, los repositorios de liberación, respectivamente.

3

Se ha sugerido que las instantáneas den el número de versión como -SNAPSHOTS, está en desarrollo, puede cambiar en cualquier momento.

El repositorio interno es el repositorio de versiones con un número de versión fijo. Puede modificar SNAPSHOTS, pero ese artefacto nunca cambia después de ser lanzado.

+0

Para * "está en desarrollo, ** puede cambiar ** en cualquier momento" * (para -SNAPSHOT) – datv

0

Captura Aquí no significa realmente una instantánea que es congelado y no va a cambiar, INSTANTÁNEA cubre varias instantáneas cuyas modificaciones no son lo suficientemente grandes para ser representado por un nuevo número de versión

Cuestiones relacionadas