Sdílet prostřednictvím


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'