Sdílet prostřednictvím


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

Můžete vytvořit vlastní privátní registr balíčků, který bude využívat přes vcpkg pomocí Gitu. 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 registru 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 složky:

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 položku směrného plánu 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-registry-versions-dir A jsou to --x-builtin-ports-root 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. A konečně, --verbose možnost vytvoří příkaz vytisknout každou operaci, která se spustí ve standardním výstupu, můžete výstup potlačit odebráním této možnosti.

Vyžaduje x-add-version , aby všechny změny portů byly potvrzeny do úložiště Git registru. Další informace najdete v dokumentaci k [x-add-version příkazu].

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: