İkili Önbelleğe Alma

vcpkg genel kayıt defterindeki bağlantı noktalarının çoğu kaynaktan oluşturulur. Vcpkg, kaynaktan oluşturarak, bağımlılıklarınızı oluşturmak için projenizde kullandığınız ortamı, derleme araçlarını, derleyici bayraklarını, bağlayıcı bayraklarını ve diğer yapılandırmaları kullanarak en yüksek uyumluluğu sağlayabilir.

İkili önbelleğe alma etkinleştirildiğinde, her paket kaynaktan oluşturulduktan sonra vcpkg bir ikili paket oluşturur. İkili paketler bir paketin derleme çıkışını barındırır: ikili dosyalar, derleme sistemi tümleştirme dosyaları, kullanım belgeleri, lisans ve diğer dosyalar. Sonraki bir çalıştırma önbelleğe alınmış bir paketin yüklenmesini gerektiriyorsa, vcpkg önbelleğe alınmış ikili paketin geri yüklenip geri yüklenmeyeceğini veya kaynaktan bir derleme tetiklenip tetiklenmeyeceğini belirler.

Bu şekilde ikili önbelleğe alma, kaynaktan derlemenin aşağıdaki dezavantajlarının etkisini azaltır:

  • Yinelenen çaba: Bir paketin kaynaktan oluşturulma sayısını azaltarak.
  • Uzun derleme süreleri: İkili paketin geri yüklenmesi genellikle tamamlanması saniyeler süren çok hızlı bir işlemdir.

İkili önbelleğe alma, kısa ömürlü kapsayıcıların veya derleme aracılarının vcpkg'yi her seferinde temiz bir sayfayla çalışmaya zorladığı CI senaryolarında özellikle etkilidir. Bulut tabanlı bir ikili önbellek (GitHub Packages veya Azure DevOps Artifacts gibi) kullanarak, yeniden derlemeler yalnızca bağımlılıklarınızda veya yapılandırmanızda değişiklik yaptığınızda gerçekleştiğinden maksimum hız sağlamak için ikili paketleri çalıştırmalar arasında kalıcı hale getirebilirsiniz.

İpucu

Her sürekli tümleştirme işlem hattı veya iş akışı için okuma ve yazma izinlerine sahip bir ikili önbellek oluşturmanız önerilir. Tek tek geliştiricilerin CI tarafından üretilen ikili önbelleğe salt okunur erişimi olmalıdır.

İkili önbellekler çeşitli ortamlarda barındırılabilir. İkili önbelleğin en temel biçimi, yerel makinedeki bir klasör veya ağ dosya paylaşımıdır. Önbellekler herhangi bir NuGet akışında (GitHub Packages veya Azure DevOps Artifacts gibi), Azure Blob Depolama, Google Cloud Storage'da ve diğer birçok hizmette de depolanabilir.

CI sağlayıcınız yerel bir "önbelleğe alma" işlevi sunuyorsa, en yüksek performanslı sonuçlar için hem vcpkg ikili önbelleğe alma hem de yerel yöntemi kullanmanız önerilir.

Geliştirme için ikili önbelleği yeniden kullanıyor

İkili dağıtım mekanizması olarak önerilmez, ancak ikili önbelleğe alma birden çok sistemden derleme çıktısını yeniden kullanmak için kullanılabilir. Örneğin, geliştiriciler yerel makinelerinde ci çalıştırması tarafından üretilen ikili paketleri kullanabilir. Vcpkg tarafından üretilen ikili dosyaları yeniden kullanma ve tümleştirmeye yönelik diğer yöntemler için bkz vcpkg export. .

Örneğin, CI işlem hattınızdan oluşturulan ikili paketleri kabul etmek ve bunları geliştirme ortamında yeniden kullanmak için Azure Artifacts'te barındırılan bir NuGet akışı yapılandırabilirsiniz.

Azure DevOps işlem hattınıza okuma ve yazma izinlerinin yanı sıra geliştirme ekibinizdeki konaklar için salt okunur izinler vermek için Azure Artifacts akışınızı yapılandırmanız gerekir.

Varsayılan ikili önbellek

İkili önbelleğe alma, ilk geçerli konumundaki bir files sağlayıcı ile varsayılan olarak etkinleştirilir:

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

Azaltılmış araç içi yardım aracılığıyla vcpkg help binarycachingkullanılabilir.

İkili Önbelleğe Alma yalnızca oluşturduğunuz ikili dosyaları kapsar. Kaynak dosyaları ve önceden oluşturulmuş araçları önbelleğe almak için bkz . Varlık Önbelleğe Alma.

Sonraki adımlar

İkili önbellek ayarlamayı ve yapılandırma söz dizimi başvurusunu öğrenmek için öğreticileri okuyun: