다음을 통해 공유


자습서: Git을 사용하여 프라이빗 vcpkg 레지스트리에 패키지 게시

Git을 사용하여 vcpkg를 통해 사용할 패키지의 개인 레지스트리를 만들 수 있습니다. 프라이빗 레지스트리는 프라이빗 라이브러리를 사용하거나 기존 패키지를 공개적으로 수정하려는 경우에 적합합니다. 패키지의 버전 및 콘텐츠를 완전히 제어할 수 있으므로 프라이빗 레지스트리에 넣을 수 있는 항목에는 제한이 없습니다.

이 자습서에서는 다음 방법을 보여 드립니다.

필수 구성 요소:

  • vcpkg
  • Git
  • 터미널

1 - Git을 사용하여 vcpkg 레지스트리 만들기

vcpkg의 Git 기반 레지스트리는 vcpkg가 이해하는 특정 레이아웃이 있는 Git 리포지토리입니다.

Git 레지스트리 초기화:

mkdir vcpkg-registry
cd vcpkg-registry
git init

2 - 레지스트리 레이아웃 만들기

vcpkg Git 기반 레지스트리에는 다음이 필요합니다.

  • 레지스트리의 포트를 포함하도록 명명된 ports 폴더
  • 버전 데이터베이스를 포함하도록 명명 versions 된 폴더
  • 폴더에 이름이 지정된 baseline.json 파일입니다 versions .

리포지토리에는 스크립트, 라이선스 파일, 파일, 설명서 등 원하는 다른 파일이 README.md 포함될 수 있습니다.

1 - 폴더 만들기 portsversions :

mkdir ports
mkdir versions

2 - 다음 내용이 포함된 폴더에 versions 이름이 지정된 baseline.json 파일을 만듭니다.

{
  "default": {}
}

유효한 baseline.json 최소 파일에는 위의 내용이 포함되어야 합니다. 버전 관리 설명서를 참조하여 파일 및 버전 데이터베이스에 대해 baseline.json 자세히 알아보세요.

3 - 리포지토리에 변경 내용 커밋

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

필요에 따라 원격 Git 리포지토리를 설정한 경우 변경 내용을 푸시하는 것이 좋습니다.

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

3 - 레지스트리에 포트 추가

레지스트리의 폴더에 ports 있는 모든 패키지 포트를 복사합니다. 각 포트에는 적어도 vcpkg.json 파일과 portfile.cmake 파일을 포함하는 자체 디렉터리가 있어야 합니다. GitHub 리포지토리 패키징에 대한 자습서에서 포트를 만드는 방법에 대해 자세히 알아봅니다.

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

4 - 버전 데이터베이스 업데이트

레지스트리의 각 포트에는 해당 버전 파일이 있어야 합니다. 버전 파일은 명령에 의해 vcpkg x-add-version 생성됩니다. 이 명령은 .의 각 포트 version/baseline.json에 대한 기준 항목도 업데이트합니다.

모든 포트에 대한 버전 데이터베이스를 한 번에 업데이트하려면 다음을 실행합니다.

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

--x-builtin-ports-root--x-builtin-registry-versions-dir 및 리디렉션 옵션입니다. 일반적으로 x-add-version 명령은 vcpkg의 기본 제공 레지스트리에서 작동하지만 리디렉션 옵션을 사용하여 로컬 Git 레지스트리에서 명령을 사용할 수 있습니다.

--all 옵션을 사용하면 vcpkg가 ports 사용 가능한 모든 포트에 대해 디렉터리를 검사하고 한 번에 모두 업데이트합니다. 마지막으로 이 옵션은 명령이 --verbose 실행되는 각 작업을 표준 출력으로 인쇄하도록 하며, 이 옵션을 제거하여 출력을 표시하지 않을 수 있습니다.

x-add-version 모든 포트 변경 내용이 레지스트리의 Git 리포지토리에 커밋되어야 합니다. 자세한 내용은 [x-add-version 명령] 설명서를 참조하세요.

모든 출력이 올바르게 표시되면 다음을 실행합니다.

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

원격 Git 리포지토리가 있는 경우 변경 내용을 푸시하는 것을 잊지 마세요.

git push

다음 단계

정말 간단하죠! vcpkg와 함께 사용할 고유한 프라이빗 Git 기반 레지스트리를 설정했습니다.

다음에 시도할 몇 가지 추가 작업은 다음과 같습니다.