Che cos'è un repository di artefatti? Se è solo un posto dove archiviare i file, non posso semplicemente usare un sistema di controllo del codice sorgente?
Che cos'è un repository di artefatti? Se è solo un posto dove archiviare i file, non posso semplicemente usare un sistema di controllo del codice sorgente?
Risposte:
Durante lo sviluppo generi una discreta quantità di artefatti diversi. Questi potrebbero includere:
e potenzialmente anche altri
Sebbene sia possibile utilizzare un sistema di controllo del codice sorgente per archiviarli tutti, di solito è enormemente inefficiente, poiché i sistemi di controllo del codice sorgente sono generalmente progettati per gestire file basati su testo e non file binari. Potresti essere in grado di usarli come un semplice meccanismo di archiviazione, se la maggior parte delle tue versioni sono basate su testo e non devi archiviare molti dati binari.
I repository di artefatti sono tuttavia progettati per archiviare tutti i tipi di file, compresi quelli binari. Ciò include qualsiasi cosa, dai codici sorgente compressi, per creare risultati, fino a cose come le immagini docker. Inoltre, di solito non solo memorizzano questi artefatti, ma aiutano anche a gestirli utilizzando varie funzioni aggiuntive, ad esempio:
Ci sono gestori di repository e gestori di repository di pacchetti Universal (UPM).
Gli UPM possono archiviare tutto il tuo artefatto di build per Jenkins, teamcity ecc. E generalmente possono anche fungere da osservatori di repository per molti diversi tipi di artefatti binari Maven, npm, NuGet e altro.
Questi sarebbero strumenti come Jfrog Artifactory , Inedo ProGet e Sonatype Nexus .
Un confronto abbastanza decente è qui: https://binary-repositories-comparison.github.io/