자습서: GitHub Actions에서 vcpkg Git 기반 레지스트리 인증
프라이빗 레지스트리에서 vcpkg를 사용하는 경우 vcpkg에서 내부적으로 실행되는 Git 작업을 인증하기 위해 액세스 자격 증명을 제공해야 합니다.
이 자습서에서는 GitHub Actions 워크플로에서 사용할 프라이빗 Git 리포지토리를 인증하는 방법을 알아봅니다.
필수 조건
- GitHub 계정
- GitHub에서 호스트되는 프라이빗 vcpkg Git-registry
- vcpkg
1 - 개인 리포지토리에 대한 개인 액세스 토큰 만들기
GitHub의 지침에 따라 세분화된 PAT(개인 액세스 토큰) 를 생성하고 vcpkg Git 레지스트리가 호스트되는 프라이빗 리포지토리에 액세스할 수 있는 권한을 부여합니다.
2 - 워크플로에서 사용할 GitHub Actions 비밀 만들기
참고 항목
리포지토리 파일에 GitHub 개인용 액세스 토큰을 저장하지 마세요.
다음 단계는 GitHub의 지침에 따라 PAT를 GitHub Actions 워크플로에서 사용할 수 있는 비밀로 저장하는 것입니다.
3 - 워크플로에서 프라이빗 Git 리포지토리에 인증
이제 워크플로에 인증 단계를 추가하고 워크플로의 YAML 파일에서 다음 템플릿을 사용합니다. 예를 들어 https://github.com/Microsoft/secret-vcpkg-registry
프라이빗 리포지토리의 URL로 바꿉니다. 이전 단계에서 만든 비밀 변수의 이름으로 바 PRIVATE_REGISTRY_PAT
꿉 PRIVATE_REPO_URL
니다.
이 워크플로 단계는 vcpkg를 호출하는 다른 워크플로 단계 전에 실행해야 합니다.
- name: Authenticate private registries
shell: bash
run: git config --global credential.PRIVATE_REPO_URL.helper '!f() { echo username=unused; echo password=${{secrets.PRIVATE_REGISTRY_PAT }}; }; f'
여러 개인 리포지토리가 있는 예제
다음 예제에서는 패턴을 사용하여 여러 개인 리포지토리에 Git 자격 증명을 credential.<url>.helper
제공하는 방법을 보여 줍니다.
- name: Authenticate private registries
shell: bash
run: |
git config --global credential.https://github.com/vcpkg/private_registry.helper '!f() { echo username=unused; echo password=${{secrets.private_registry_pat}}; }; f'
git config --global credential.https://github.com/vcpkg/secret_registry.helper `!f() { echo username=unused; echo password=${{secrets.secret_registry_pat}}; }; f'
vcpkg