INTEGRITY Dokumentace

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ž

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 -5

V 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.