Co je úložiště artefaktů? Pokud je to jen místo pro ukládání souborů, nemůžu jen použít systém ovládání zdroje?
Odpovědět
Během vývojem vygenerujete slušné množství různých artefaktů. Mohou zahrnovat:
- Zdrojový kód
- Kompilovaná aplikace
- Nasazitelný balíček
- Dokumentace
a potenciálně i ostatní
I když můžete k uložení všech použít systém řízení zdroje, je obvykle velmi neefektivní, protože systémy řízení zdrojů jsou obvykle navrženy pro zpracování na základě textu soubory, nikoli binární soubory. Možná budete moci použít jako jednoduchý mechanismus úložiště, pokud je většina vašich verzí textová a nemusíte ukládat spoustu binárních dat.
Úložiště artefaktů jsou však navržena k ukládání všech druhů souborů, včetně binárních. To zahrnuje cokoli od zdrojových kódů zazipovaných přes vytváření výsledků až po obrázky jako docker. Obvykle nejen ukládají tyto artefakty, ale také jim pomáhají spravovat je pomocí různých dalších funkcí, například:
- Podpora správy verzí: správně ukládejte některá metadata, jako když byl každý artefakt vytvořen, jaké jsou jejich verze number is, store their hashes, etc.
- Retention: make sure you only keep the important artifacts, and automatically delete those that are only snapshots / not needed already, etc. based on various criteria you can set
- Řízení přístupu: nastavit, kdo může publikovat a kdo si může stáhnout různé artefakty.
- Propagace: schopnost propagovat artefakty. Například můžete mít artefakty snímků s krátkou dobou uchování na serveru poblíž vašich kodérů a samostatné úložiště poblíž živých serverů, kde se zobrazí pouze artefakty, které byly považovány za nasaditelné. To také zahrnuje podporu pro různé kanály verzí a přesunutí artefaktů mezi nimi (jako je propagace konkrétní verze z beta do stabilní verze).
- Působí jako nativní úložiště pro artefakty. To znamená, že jej můžete použít jako hlavní úložiště pro maven, rubygems, docker atd. Může to zahrnovat také ukládání artefaktů do mezipaměti z oficiálních úložišť.
Komentáře
- Možná se vyplatí přidat ' kanál ' přes podporu Versionning s možností mít některé stroj zaměřený na nejnovější vydání v kanálu " vyvinout " a prod stroj zacílit na konkrétní verzi v kanálu " stabilní ".
- @ Pierre.Vriens přidal několik drobných komentářů, ale možná tomu lze věnovat také samostatnou otázku
- merci, ale pro každý případ zde je vaše šance dále se zabývat mým dalším komentářem …
- Má to smysl také sledovat konfigurační soubory nebo zařízení v těchto druzích úložišť?
Odpovědět
Existují správci úložiště a správci úložiště univerzálních balíků (UPM).
Technologie UPM mohou ukládat všechny vaše artefakty sestavení pro Jenkins, teamcity atd. a obecně mohou také fungovat jako manažery úložiště pro mnoho různých typů binárních artefaktů Maven, npm, NuGet a další.
Byly by to nástroje jako Jfrog Artifactory , Inedo ProGet , a Sonatype Nexus .
Celkem slušné srovnání je zde: https://binary-repositories-comparison.github.io/