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 folderzeversions
.
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: