Megosztás:


Bináris gyorsítótárazás

A vcpkg nyilvános beállításjegyzékének legtöbb portja forrásból van létrehozva. A forrásból történő létrehozással a vcpkg képes biztosítani a maximális kompatibilitást ugyanazokkal a környezetekkel, buildelési eszközökkel, fordítójelzőkkel, linkerjelölőkkel és más konfigurációkkal, amelyeket a projektben a függőségek létrehozásához használ.

Ha engedélyezve van a bináris gyorsítótárazás, miután minden csomag forrásból készült, a vcpkg létrehoz egy bináris csomagot. A bináris csomagok egy csomag buildkimenetét tartják meg: bináris fájlok, buildrendszer-integrációs fájlok, használati dokumentáció, licenc és egyéb fájlok. Ha egy későbbi futtatáshoz gyorsítótárazott csomagot kell telepíteni, a vcpkg megállapítja, hogy visszaállítja-e a gyorsítótárazott bináris csomagot, vagy elindít egy buildet a forrásból.

Így a bináris gyorsítótárazás csökkenti a forrásból történő építkezés alábbi hátrányait:

  • Duplikált munkamennyiség: A csomagok forrásból való felépítésének számának csökkentésével.
  • Hosszú buildelési idők: A bináris csomagok visszaállítása általában egy nagyon gyors művelet, amely másodpercekig tart.

A bináris gyorsítótárazás különösen hatékony a CI-forgatókönyvekben, ahol az átmeneti tárolók vagy build ügynökök minden alkalommal arra kényszerítik a vcpkg-t, hogy tiszta lappal működjön. Felhőalapú bináris gyorsítótár (például GitHub Packages vagy Azure DevOps Artifacts) használatával a futtatások között is megőrizheti a bináris csomagokat, így biztosítva a maximális sebességet, mivel az újraépítések csak a függőségek vagy konfigurációk módosításakor történnek.

Jótanács

Ajánlott olyan bináris gyorsítótárat létrehozni, amely olvasási és írási engedélyekkel rendelkezik minden folyamatos integrációs folyamathoz vagy munkafolyamathoz. Az egyes fejlesztőknek írásvédett hozzáféréssel kell rendelkezniük a CI által létrehozott bináris gyorsítótárhoz.

A bináris gyorsítótárak számos környezetben üzemeltethetők. A bináris gyorsítótár legalapvetőbb formája a helyi gépen vagy egy hálózati fájlmegosztásban található mappa. A cache-ek minden NuGet-csatornában (például GitHub Packages vagy Azure DevOps Artifacts), Azure Blob Storage-ban, Google Cloud Storage-ban és sok más szolgáltatásban is tárolhatók.

Ha a CI-szolgáltató natív "gyorsítótárazási" függvényt kínál, ajánlott a vcpkg bináris gyorsítótárazását és a natív metódust is használni a legeredményesebb eredményekhez.

Bináris gyorsítótár újbóli használata fejlesztéshez

Bár bináris terjesztési mechanizmusként nem ajánlott, a bináris gyorsítótárazás több rendszer buildkimenetének újrafelhasználására is használható. A fejlesztők használhatják például a helyi gépeken futó CI által előállított bináris csomagokat. A vcpkg által előállított bináris fájlok újrafelhasználására és integrálására szolgáló egyéb módszerekért tekintse meg a következőt vcpkg export: .

Konfigurálhat például egy Azure Artifactsben üzemeltetett NuGet-hírcsatornát , hogy elfogadja a CI-folyamatból létrehozott bináris csomagokat, és felhasználja őket egy fejlesztői környezetben.

Konfigurálnia kell az Azure Artifacts-hírcsatornát, hogy olvasási és írási engedélyeket adjon az Azure DevOps-folyamathoz , valamint írásvédett engedélyeket adjon a fejlesztői csapat gazdagépei számára.

Alapértelmezett bináris gyorsítótár

A bináris gyorsítótárazás alapértelmezés szerint engedélyezve van egy files szolgáltatónál a következő első érvényes helyen:

  • Windows
  1. %VCPKG_DEFAULT_BINARY_CACHE%
  2. %LOCALAPPDATA%\vcpkg\archives
  3. %APPDATA%\vcpkg\archives
  • Nem Windows
  1. $VCPKG_DEFAULT_BINARY_CACHE
  2. $XDG_CACHE_HOME/vcpkg/archives
  3. $HOME/.cache/vcpkg/archives

Csökkentett eszközhasználati súgó az vcpkg help binarycaching által érhető el.

A bináris gyorsítótárazás csak a buildelt bináris fájlokra vonatkozik. A forrásfájlok és az előre összeállított eszközök gyorsítótárazásához lásd: Eszköz gyorsítótárazása.

Következő lépések

Olvassa el az oktatóanyagokat, hogy megtudja, hogyan állíthat be bináris gyorsítótárat, és tekintse meg a konfigurációs szintaxis referenciáját: