← Artifacts / artifacts / guides
ArtifactFS
ArtifactFS připojí repozitář Git jako místní souborový systém, aniž by čekal na dokončení celého klonování. Hodí se, když vaše prostředí potřebuje pracovní strom rychle a zvládne, že se obsah souborů dotahuje až podle potřeby.
ArtifactFS použijte pro velké repozitáře v sandboxech, kontejnerech a virtuálních strojích. Pro menší repozitáře použijte běžný git clone je obvykle jednodušší.
ArtifactFS funguje s Git remoty Artifacts a dalších repozitářů Git.
ArtifactFS zvolte, když
- na rychlosti spuštění záleží více než na úplném lokálním klonu
- repozitář je tak velký, že klonování zpomaluje spuštění sandboxu
- nástroje potřebují připojený pracovní strom, ne přímý přístup k Git
U menších repozitářů začněte s běžným git clone. Obvykle je dostatečně rychlý a jednodušší na provoz.
Pochopte, jak se chová
ArtifactFS začíná klonováním bez blobů (blobless clone). Nejprve stáhne commity, stromy a reference, poté připojí pracovní strom přes FUSE.
Obsah souborů se hydratuje asynchronně v okamžiku, kdy jej nástroje čtou. Čtení se zablokuje pouze tehdy, když požadovaný blob ještě není hydratovaný, další čtení pak probíhají z místní mezipaměti blobů.
ArtifactFS upřednostňuje soubory, které obvykle jako první umožní práci vývojářských nástrojů, například manifesty balíčků, soubory se závislostmi a běžné zdrojové soubory. Velké binární soubory mají nižší prioritu.
Připojte repozitář Artifacts
Tento příklad nainstaluje ArtifactFS, z tokenu repozitáře sestaví autentizované vzdálené úložiště Artifacts, připojí repozitář a čte soubory z připojeného pracovního stromu.
Tento příklad předpokládá, že už máte na hostiteli funkční implementaci FUSE, token Artifacts s platností pro daný repozitář a repozitář remote hodnotu z odpovědi na vytvoření nebo získání.
go install github.com/cloudflare/artifact-fs/cmd/artifact-fs@latest
export ARTIFACTS_REMOTE="<PASTE_REMOTE_FROM_CREATE_OR_GET_RESPONSE>"
export ARTIFACTS_TOKEN="<YOUR_READ_TOKEN>"
export ARTIFACTS_TOKEN_SECRET="${ARTIFACTS_TOKEN%%\?expires=*}"
export ARTIFACTS_AUTH_REMOTE="https://x:${ARTIFACTS_TOKEN_SECRET}@${ARTIFACTS_REMOTE#https://}"
artifact-fs add-repo \
--name starter-repo \
--remote "$ARTIFACTS_AUTH_REMOTE" \
--branch main \
--mount-root /tmp
artifact-fs daemon --root /tmp &
ls /tmp/starter-repo/
cat /tmp/starter-repo/README.md
git -C /tmp/starter-repo log --oneline -5V autentizované URL adrese vzdáleného úložiště použijte krátkodobý token. Pokud potřebujete menší repozitář nebo jednodušší lokální postup, použijte běžný Git protokol místo toho clone.