2008-11-09 8 views
68

Quelle est la différence entre un instantané dépôt et presse dépôt?Maven logithèque d'instantanés vs référentiel de sortie

C'est en référence à la mise en place Référentiels (comme Artifactory, Nexus etc)

+0

On dirait que vous vous posez au sujet Maven (l'outil de construction). Peut-être devriez-vous inclure cela dans la question et les étiquettes. – bendin

+0

Qu'est-ce que c'est par rapport à? Contrôle de la source?Ce n'est pas une terminologie standard, pour autant que je sache, mais je devine qu'un cliché a été utilisé comme une image d'un arbre source à un moment donné (probablement pour un usage interne), alors qu'une version est utilisée pour le code externe. –

Répondre

44

Artefacts de sortie

sont spécifiques, communiqués point en temps. Les artéfacts libérés sont considérés comme solides, stables et perpétuels afin de garantir que les constructions qui en dépendent sont répétables dans le temps. Les artefacts JAR libérés sont associés aux signatures PGP et les sommes de contrôle vérifient à la fois l'authenticité et l'intégrité de l'artefact logiciel binaire. Le référentiel Central Maven stocke les artefacts.

Artefacts Snapshot

instantanés capturent un travail en cours et sont utilisés au cours du développement. Un artefact Snapshot possède à la fois un numéro de version tel que "1.3.0" ou "1.3" et un horodatage. Par exemple, un artefact d'instantané pour commons-lang 1.3.0 peut avoir le nom commons-lang-1.3.0-20090314.182342-1.jar.

Extrait de refcard

+0

Sayat, Est-ce que «1.1.0.M5» ou «1.1.0.M4» une version de l'instantané? –

+1

Ceci définit les artefacts de version et d'instantané. Mais: deux référentiels distincts sont-ils nécessaires? – dna

+0

c'était clair pour moi, merci –

65

dépôts de Maintiennent communiqués et dépôts d'instantanés instantanés détiennent. Dans maven, un instantané est défini comme un artefact dont la version se termine par -SNAPSHOT. Une fois déployé, l'instantané est transformé en horodatage. Par définition, les instantanés sont mutables, les versions sont immuables. C'est pourquoi Nexus vous oblige à les stocker séparément, car généralement vous ne vous souciez pas si vous perdez des instantanés, mais vous vous en soucierez si vous perdez des versions. Cela rend le nettoyage des instantanés beaucoup plus facile à gérer de cette façon.

+1

Merci pour le * "Lorsqu'il est déployé, le SNAPSHOT est transformé en horodatage" *. – datv

1

Habituellement Maven nous avons deux types de builds:

1) instantané construit: snapshot est la version spéciale qui indique une copie de déploiement en cours et non une version régulière, spécifique. Maven vérifie la version de chaque build dans le référentiel distant. Les builds de snapshots ne sont rien d'autre que des buildings de maintenance.

2) Génération version: La libération signifie la suppression de SNAPSHOT à l'ID de version pour la génération. Ce sont les versions de construction régulières.

Les artefacts d'images instantanées et les artefacts de version sont envoyés respectivement à des référentiels d'instantané et de version.

3

Les instantanés sont une idée maîtresse pour donner le numéro de version comme -SNAPSHOTS, son sous développement, il peut changer à tout moment.

Le référentiel interne est le référentiel de version avec le numéro de version fixe. Vous pouvez modifier les SNAPSHOTS, mais cet artefact ne change jamais après sa libération.

+0

Pour * "son sous développement, ** il peut changer ** à tout moment" * (pour -SNAPSHOT) – datv

0

INSTANTANÉ ici ne signifie pas vraiment l'un instantané qui est gelé et ne changera pas, INSTANTANÉ couvre plusieurs clichés dont les modifications ne sont pas assez grand pour être représenté par un nouveau numéro de version

Questions connexes