De quoi s'agit-il? Contrôle de la source? Ce n'est pas une terminologie standard pour autant que je sache, mais je pourrais supposer qu'un instantané a été utilisé comme image d'un arbre source à un moment donné (probablement pour un usage interne), tandis qu'une version est utilisée pour le code publié en externe.
1800 INFORMATION
On dirait que vous posez des questions sur Maven (l'outil de construction). Vous devriez peut-être inclure cela dans la question et les balises.
bendin
Réponses:
67
Libérer les artefacts
Ce sont des versions spécifiques et ponctuelles. Les artefacts 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 de version.
Artefacts instantanés
Les instantanés capturent un travail en cours et sont utilisés pendant le 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.
Cela ne répond pas à la question, la question porte sur la distinction entre les référentiels de publication et de snapshots (pas les artefacts).
mks-d le
1
@ mks-d Bonne observation mais il est difficile de comprendre un référentiel de quelque chose sans comprendre d'abord ce qu'est ce «quelque chose». :) stackoverflow.com/a/5901460
datv
86
Les référentiels de versions contiennent des versions et les référentiels de clichés contiennent des instantanés. Dans maven, un instantané est défini comme un artefact avec une version se terminant par -SNAPSHOT. Une fois déployé, l'instantané est transformé en horodatage. Par définition, les instantanés sont modifiables, les versions sont immuables. C'est pourquoi Nexus vous oblige à les stocker séparément, car généralement vous ne vous souciez pas de savoir 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.
Merci pour le "Une fois déployé, le SNAPSHOT est transformé en un horodatage" .
datv
lorsque j'ai configuré le travail sur jenkins et que j'ai utilisé des artefacts de téléchargement dans le repo d'instantanés nexus, je ne pouvais pas voir plus d'un instantané. Généralement, lorsque nous apportons des modifications au projet et déclenchons une construction, un nouvel artefact est créé. Bien que cela se produise mais il le renomme au même 1.0-SNAPSHOT plutôt il devrait le nommer comme 2.0-SNAPSHOT et ainsi de suite. Toute aide .. @Brian Fox
frp farhan
J'avais utilisé dans la section post build de jenkins, déployer des artefacts dans le référentiel maven et l'avoir configuré en tant que dépôt d'instantanés de nexus.
frp farhan
3
Les snapshots sont une idée géniale pour donner le numéro de version comme -SNAPSHOTS, il est en cours de développement, il peut changer à tout moment.
Le référentiel interne est le référentiel de version avec un numéro de version fixe. Vous pouvez modifier les SNAPSHOTS, mais cet artefact ne change jamais après sa publication.
Pour "il est en cours de développement, il peut changer à tout moment" (pour -SNAPSHOT)
datv
3
Habituellement, dans maven, nous avons deux types de builds:
1) Snapshot builds : SNAPSHOT est la version spéciale qui indique la copie de déploiement actuelle et non une version régulière et spécifique. Maven vérifie la version de chaque build dans le référentiel distant. Les builds de snapshot ne sont rien d'autre que des builds de développement.
2) Release builds : Release signifie supprimer le SNAPSHOT à l'ID de version de la build. Ce sont les versions de construction régulières.
Les artefacts de snapshot et les artefacts de version sont respectivement poussés vers les référentiels de snapshot et de publication.
SNAPSHOT ici ne signifie pas vraiment UN instantané qui est figé et ne changera pas, SNAPSHOT couvre plusieurs instantanés dont les modifications ne sont pas assez importantes pour être représentées par un nouveau numéro de version
Réponses:
Libérer les artefacts
Ce sont des versions spécifiques et ponctuelles. Les artefacts 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 de version.
Artefacts instantanés
Les instantanés capturent un travail en cours et sont utilisés pendant le 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.
Tiré de refcard
la source
1.1.0.M5
ou1.1.0.M4
une version de l'instantané?Les référentiels de versions contiennent des versions et les référentiels de clichés contiennent des instantanés. Dans maven, un instantané est défini comme un artefact avec une version se terminant par -SNAPSHOT. Une fois déployé, l'instantané est transformé en horodatage. Par définition, les instantanés sont modifiables, les versions sont immuables. C'est pourquoi Nexus vous oblige à les stocker séparément, car généralement vous ne vous souciez pas de savoir 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.
la source
Les snapshots sont une idée géniale pour donner le numéro de version comme -SNAPSHOTS, il est en cours de développement, il peut changer à tout moment.
Le référentiel interne est le référentiel de version avec un numéro de version fixe. Vous pouvez modifier les SNAPSHOTS, mais cet artefact ne change jamais après sa publication.
la source
Habituellement, dans maven, nous avons deux types de builds:
1) Snapshot builds : SNAPSHOT est la version spéciale qui indique la copie de déploiement actuelle et non une version régulière et spécifique. Maven vérifie la version de chaque build dans le référentiel distant. Les builds de snapshot ne sont rien d'autre que des builds de développement.
2) Release builds : Release signifie supprimer le SNAPSHOT à l'ID de version de la build. Ce sont les versions de construction régulières.
Les artefacts de snapshot et les artefacts de version sont respectivement poussés vers les référentiels de snapshot et de publication.
la source
SNAPSHOT ici ne signifie pas vraiment UN instantané qui est figé et ne changera pas, SNAPSHOT couvre plusieurs instantanés dont les modifications ne sont pas assez importantes pour être représentées par un nouveau numéro de version
la source