Číst v angličtině

Sdílet prostřednictvím


Binární ukládání do mezipaměti

Většina portů ve veřejném registru vcpkg se vytváří ze zdroje. Vytvořením ze zdroje může vcpkg zajistit maximální kompatibilitu pomocí stejného prostředí, nástrojů sestavení, příznaků kompilátoru, příznaků linkeru a dalších konfigurací, které v projektu používáte k sestavení závislostí.

Pokud je povolena binární mezipaměť, po vytvoření každého balíčku ze zdroje vytvoří vcpkg binární balíček. Binární balíčky obsahují výstup sestavení balíčku: binární soubory, soubory integrace systému sestavení, dokumentaci k použití, licenci a další soubory. Pokud pozdější spuštění vyžaduje instalaci balíčku uloženého v mezipaměti, vcpkg určuje, jestli se má obnovit binární balíček v mezipaměti, nebo aktivovat sestavení ze zdroje.

Díky tomu binární ukládání do mezipaměti snižuje dopad následujících nevýhod sestavování ze zdroje:

  • Duplicitní úsilí: Snížením počtu sestavení balíčku ze zdroje.
  • Dlouhé časy sestavení: Obnovení binárního balíčku je obvykle velmi rychlá operace, která trvá několik sekund.

Binární ukládání do mezipaměti je zvlášť efektivní ve scénářích CI, kdy dočasné kontejnery nebo agenti sestavení přinutí vcpkg pracovat s čistým slatem pokaždé. Pomocí cloudové binární mezipaměti (například GitHub Packages nebo Azure DevOps Artifacts) můžete zachovat binární balíčky mezi spuštěními, abyste zajistili maximální rychlost, protože opětovné sestavení proběhne jenom v případě, že provedete změny závislostí nebo konfigurace.

Tip

Doporučujeme vytvořit binární mezipaměť s oprávněními ke čtení a zápisu pro každý kanál nebo pracovní postup kontinuální integrace. Jednotliví vývojáři by měli mít přístup jen pro čtení k binární mezipaměti vytvořené ci.

Binární mezipaměti je možné hostovat v různých prostředích. Nejzásadnější forma binární mezipaměti je složka na místním počítači nebo ve sdílené síťové složce. Mezipaměti se také dají ukládat do libovolného informačního kanálu NuGet (například GitHub Packages nebo Azure DevOps Artifacts), Azure Blob Storage, Google Cloud Storage a mnoha dalších služeb.

Pokud váš poskytovatel CI nabízí nativní funkci ukládání do mezipaměti, doporučuje se pro nejvýkonnější výsledky použít binární ukládání do mezipaměti vcpkg i nativní metodu.

Opětovné použití binární mezipaměti pro vývoj

I když se nedoporučuje jako binární distribuční mechanismus, binární ukládání do mezipaměti se dá použít k opakovanému použití výstupu sestavení z více systémů. Vývojáři můžou například použít binární balíčky vytvořené ci spuštěnou na místních počítačích. Další metody opětovného použití a integrace binárních souborů produkovaných vcpkg najdete v vcpkg exporttématu .

Můžete například nakonfigurovat informační kanál NuGet hostovaný v Azure Artifacts tak, aby přijímal binární balíčky vytvořené z vašeho kanálu CI a znovu je používal ve vývojovém prostředí.

Kanál Azure Artifacts budete muset nakonfigurovat tak, aby udělil kanálu Azure DevOps oprávnění ke čtení a zápisu a udělil hostitelům ve vývojovém týmu oprávnění jen pro čtení.

Výchozí binární mezipaměť

Binární ukládání do mezipaměti je ve výchozím nastavení povolené u files poskytovatele v prvním platném umístění:

  • Windows
  1. %VCPKG_DEFAULT_BINARY_CACHE%
  2. %LOCALAPPDATA%\vcpkg\archives
  3. %APPDATA%\vcpkg\archives
  • Jiné než Windows
  1. $VCPKG_DEFAULT_BINARY_CACHE
  2. $XDG_CACHE_HOME/vcpkg/archives
  3. $HOME/.cache/vcpkg/archives

Menší nápověda v nástroji je k dispozici prostřednictvím vcpkg help binarycaching.

Binární ukládání do mezipaměti se týká jenom binárních souborů, které sestavíte. Informace o ukládání zdrojových souborů do mezipaměti a předem připravených nástrojů najdete v tématu Ukládání prostředků do mezipaměti.

Další kroky

V kurzech se dozvíte, jak nastavit binární mezipaměť a odkaz na syntaxi konfigurace: