Sdílet prostřednictvím


Kurz: Publikování balíčků do privátního registru vcpkg pomocí Gitu

Pomocí Gitu můžete vytvořit vlastní soukromý registr balíčků ke spotřebě přes vcpkg. Soukromé registry jsou ideální, pokud chcete používat soukromé knihovny nebo chcete provádět neveřejné úpravy stávajících balíčků. Máte plnou kontrolu nad verzemi a obsahem balíčků, takže ve skutečnosti neexistuje žádný limit toho, co můžete vložit do privátního registru.

V tomto kurzu si ukážeme, jak:

Požadavky:

  • vcpkg
  • Git
  • Terminál

1. Vytvoření registru vcpkg pomocí Gitu

Registry založené na Gitu vcpkg jsou úložiště Git s konkrétním rozložením, kterému vcpkg rozumí.

Inicializace repozitáře Git:

mkdir vcpkg-registry
cd vcpkg-registry
git init

2. Vytvoření rozložení registru

Registr založený na Gitu vcpkg vyžaduje následující:

  • složku s názvem ports , která bude obsahovat porty registru,
  • složka s názvem versions , která bude obsahovat databázi verzí,
  • soubor s názvem baseline.json ve versions složce.

Vaše úložiště může obsahovat libovolné jiné soubory, například skripty, soubor LICENSE, README.md soubor, dokumentaci atd.

1. Vytvořte složky ports a versions.

mkdir ports
mkdir versions

2 . Vytvořte soubor pojmenovaný baseline.json ve versions složce s následujícím obsahem:

{
  "default": {}
}

Minimální platný baseline.json soubor by měl obsahovat výše uvedený obsah. Další informace o baseline.json souboru a databázi verzí najdete v dokumentaci k správě verzí.

3. Potvrzení změn do úložiště

git add versions/baseline.json
git commit -m "Initial commit"

Pokud máte nastavené vzdálené úložiště Git, je vhodné změny odeslat.

git remote add origin https://example.com/vcpkg-registry.git
git push --set-upstream origin HEAD

3. Přidání portů do registru

Zkopírujte všechny porty balíčku ve ports složce v registru. Každý port musí mít svůj vlastní adresář obsahující alespoň vcpkg.json soubor a portfile.cmake soubor. Přečtěte si další informace o vytváření portů v kurzu o balení úložišť GitHub.

git add ports/.
git commit -m "Add registry ports"

4. Aktualizace databáze verzí

Každý port v registru musí mít odpovídající soubor verze. Soubory verzí jsou generovány příkazem vcpkg x-add-version . Tento příkaz také aktualizuje referenční záznam pro každý port v version/baseline.json.

Pokud chcete aktualizovat databázi verzí pro všechny porty najednou, spusťte:

vcpkg --x-builtin-ports-root=./ports --x-builtin-registry-versions-dir=./versions x-add-version --all --verbose

--x-builtin-ports-root a --x-builtin-registry-versions-dir jsou možnosti přesměrování. x-add-version Příkaz obvykle pracuje s integrovaným registrem vcpkg, ale pomocí možností přesměrování je možné tento příkaz použít v místních registrech Gitu.

Tato --all možnost zajistí, že vcpkg prohledá adresář ports pro všechny dostupné porty a aktualizuje je všechny najednou. Nakonec možnost --verbose způsobí, že příkaz vytiskne každou operaci, kterou provede, na standardní výstup. Tento výstup můžete potlačit odebráním této možnosti.

Jakmile bude výstup vypadat správně, spusťte:

git add .
git commit -m "Update versions database"

Pokud máte vzdálené úložiště Git, nezapomeňte změny odeslat:

git push

Další kroky

A to je vše! Nastavili jste vlastní privátní registr založený na Gitu pro použití s vcpkg.

Tady je několik dalších úkolů, které můžete vyzkoušet: