Kurz: Ověřování registrů založených na Gitu vcpkg v GitHub Actions
Při použití vcpkg s privátními registry je nutné poskytnout přihlašovací údaje pro přístup k ověřování operací Gitu spuštěných interně nástrojem vcpkg.
V tomto kurzu se dozvíte, jak ověřit privátní úložiště Git pro použití v pracovním postupu GitHub Actions.
Požadavky
- Účet GitHub
- Privátní registr vcpkg git-registry hostovaný na GitHubu
- vcpkg
1. Vytvoření osobního přístupového tokenu pro privátní úložiště
Postupujte podle pokynů na GitHubu a vygenerujte jemně odstupňovaný osobní přístupový token (PAT) a udělte mu oprávnění pro přístup k privátnímu úložišti, kde je váš registr vcpkg Git hostovaný.
2. Vytvoření tajného kódu GitHub Actions pro použití v pracovním postupu
Poznámka:
Nikdy neukládejte osobní přístupový token GitHubu do souborů úložiště.
Dalším krokem je postupovat podle pokynů GitHubu k uložení PAT jako tajného kódu dostupného v pracovních postupech GitHub Actions.
3. Ověření v privátních úložištích Git ve vašem pracovním postupu
Teď je čas přidat do pracovního postupu krok ověřování, použijte v souboru YAML pracovního postupu následující šablonu. Nahraďte PRIVATE_REPO_URL
adresou URL vašeho privátního úložiště, například: https://github.com/Microsoft/secret-vcpkg-registry
; nahraďte PRIVATE_REGISTRY_PAT
názvem proměnné tajného kódu, kterou jste vytvořili v předchozím kroku.
Tento krok pracovního postupu se musí spustit před jakýmkoli jiným krokem pracovního postupu, který vyvolá 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'
Příklad s několika privátními úložišti
Následující příklad ukazuje, jak pomocí vzoru zadat přihlašovací údaje Gitu pro více privátních credential.<url>.helper
úložišť.
- 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'