Udostępnij za pośrednictwem


Samouczek: publikowanie pakietów w prywatnym rejestrze vcpkg przy użyciu usługi Git

Możesz utworzyć własny prywatny rejestr pakietów do użycia za pośrednictwem narzędzia vcpkg przy użyciu narzędzia Git. Prywatne rejestry są idealne, jeśli chcesz używać bibliotek prywatnych lub chcesz wprowadzić niepublityczne modyfikacje istniejących pakietów. Masz pełną kontrolę nad wersjami i zawartością pakietów, więc naprawdę nie ma żadnych ograniczeń dotyczących tego, co można umieścić w rejestrze prywatnym.

W tym samouczku pokazano, jak:

Wymagania wstępne:

  • vcpkg
  • Usługa Git
  • Terminal

1 — Tworzenie rejestru vcpkg przy użyciu usługi Git

Rejestry oparte na usłudze Git programu vcpkg to repozytoria Git z określonym układem, który rozumie vcpkg.

Inicjowanie rejestru Git:

mkdir vcpkg-registry
cd vcpkg-registry
git init

2 — Tworzenie układu rejestru

Rejestr oparty na narzędziu vcpkg usługi Git wymaga następujących elementów:

  • folder o nazwie ports zawierający porty rejestru,
  • folder o nazwie versions zawierający bazę danych wersji,
  • plik o nazwie baseline.json w folderze versions .

Repozytorium może zawierać inne pliki, na przykład skrypty, plik LICENCJI, plik, dokumentację README.md itp.

1 — Tworzenie ports folderów i versions :

mkdir ports
mkdir versions

2 — Utwórz plik o nazwie baseline.json w folderze versions o następującej zawartości:

{
  "default": {}
}

Minimalny prawidłowy baseline.json plik powinien zawierać powyższą zawartość. Przeczytaj dokumentację dotyczącą przechowywania wersji, aby dowiedzieć się więcej o baseline.json pliku i bazie danych wersji.

3 — Zatwierdzanie zmian w repozytorium

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

Opcjonalnie, jeśli masz skonfigurowane zdalne repozytorium Git, dobrym punktem jest wypchnięcie zmian.

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

3 — Dodawanie portów do rejestru

Skopiuj wszystkie porty pakietu w ports folderze w rejestrze. Każdy port musi mieć własny katalog zawierający co najmniej vcpkg.json plik i portfile.cmake plik. Dowiedz się więcej o tworzeniu portów w samouczku dotyczącym tworzenia pakietów repozytoriów GitHub.

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

4 — Aktualizowanie bazy danych wersji

Każdy port w rejestrze musi mieć odpowiedni plik wersji. Pliki wersji są generowane przez vcpkg x-add-version polecenie . To polecenie aktualizuje również wpis punktu odniesienia dla każdego portu w programie version/baseline.json.

Aby zaktualizować bazę danych wersji dla wszystkich portów jednocześnie, uruchom polecenie:

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

Opcje --x-builtin-ports-root przekierowania i --x-builtin-registry-versions-dir . x-add-version Zwykle polecenie działa we wbudowanym rejestrze vcpkg, ale przy użyciu opcji przekierowania można użyć polecenia w lokalnych rejestrach Git.

Opcja --all powoduje, że narzędzie vcpkg skanuje ports katalog dla wszystkich dostępnych portów i aktualizuje je jednocześnie. Na koniec opcja sprawia, --verbose że polecenie wyświetla każdą operację wykonywaną w standardowych danych wyjściowych. Dane wyjściowe można pominąć, usuwając tę opcję.

Wymagane x-add-version jest, aby wszystkie zmiany portów zostały zatwierdzone do repozytorium Git rejestru. Przeczytaj dokumentację [x-add-version polecenia], aby dowiedzieć się więcej.

Gdy wszystkie dane wyjściowe wyglądają poprawnie, uruchom polecenie:

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

Jeśli masz zdalne repozytorium Git, nie zapomnij wypchnąć zmiany:

git push

Następne kroki

I to wszystko. Skonfigurowaliśmy własny prywatny rejestr oparty na usłudze Git do użycia z narzędziem vcpkg.

Poniżej przedstawiono kilka dodatkowych zadań, które należy wykonać, aby spróbować wykonać następne czynności: