Tutorial: Set up a vcpkg asset cache
All asset caches are configured through the X_VCPKG_ASSET_SOURCES
environment variable. The value
of X_VCPKG_ASSET_SOURCES
follows a specific configuration
syntax.
In this tutorial you'll learn how to:
Prerequisites
- A terminal
- vcpkg
1 - Create an asset cache directory
You can use the Azure Blob Storage backend "x-azurl
", to store
assets. Alternatively, you can use filesystem directories to store
your download assets, including network locations. To do so, you need to use the
file://
protocol in your asset cache URL.
In this tutorial, you'll create a local asset cache location to store downloaded artifacts. If you have an Azure DevOps Blob Storage you want to use instead, replace the URL and provide a SAS token as the second parameter in the configuration string.
- Create a directory to serve as an asset cache location (substitute with any locations of your choosing):
mkdir D:\vcpkg\asset-cache
mkdir /home/vcpkg/asset-cache
2 - Configure X_VCPKG_ASSET_SOURCES
Next set the value of X_VCPKG_ASSET_SOURCES
as follows:
$env:X_VCPKG_ASSET_SOURCES="clear;x-azurl,file://D:/vcpkg/asset-cache,,readwrite"
Note
Setting environment variables in this manner only affects the current terminal session. To make these changes permanent across all sessions, set them through the Windows System Environment Variables panel.
set "X_VCPKG_ASSET_SOURCES=clear;x-azurl,file://D:/vcpkg/asset-cache,,readwrite"
Note
Setting environment variables in this manner only affects the current terminal session. To make these changes permanent across all sessions, set them through the Windows System Environment Variables panel.
This X_VCPKG_ASSET_SOURCES
configuration adds the following source strings:
clear
, disables any previously configured asset cachex-azurl,file://C:/vcpkg/asset-cache,,readwrite
, sets a filesystem asset cache, located inD:\vcpkg\asset-cache
, with read-write permissions.
export X_VCPKG_ASSET_SOURCES="clear;x-azurl,file:///home/vcpkg/asset-cache,,readwrite"
Note
Setting environment variables using the export
command only
affects the current shell session. To make this change permanent across
sessions, add the export
command to your shell's profile
script (e.g., ~/.bashrc
or ~/.zshrc
).
This X_VCPKG_ASSET_SOURCES
configuration adds the following source strings:
clear
, disables any previously configured asset cachex-azurl,file:///home/vcpkg/asset-cache,,readwrite
, sets a filesystem asset cache, located inhome/vcpkg/asset-cache
, with read-write permissions.
Next steps
Here are other tasks to try next: